<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Röstagenter &#8211; Node Nordic &#8211; AI Konsult för företag</title>
	<atom:link href="https://nodenordic.se/function/rostagenter/feed/" rel="self" type="application/rss+xml" />
	<link>https://nodenordic.se</link>
	<description>Vi guidar er från AI-strategi och pilot till färdig implementation och skalning.</description>
	<lastBuildDate>Fri, 23 Jan 2026 02:20:11 +0000</lastBuildDate>
	<language>sv-SE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://nodenordic.se/wp-content/uploads/2025/12/cropped-icon-32x32.png</url>
	<title>Röstagenter &#8211; Node Nordic &#8211; AI Konsult för företag</title>
	<link>https://nodenordic.se</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Bygg ett cold call-manus med AI-prompt</title>
		<link>https://nodenordic.se/prompts/bygg-ett-cold-call-manus-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-ett-cold-call-manus-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:20:11 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001101</guid>

					<description><![CDATA[<p>Prospekt lägger på snabbt – den här AI-prompten skapar ett branschspecifikt cold call-manus med kvalificering, invändningar och tydlig CTA.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-ett-cold-call-manus-med-ai-prompt/">Bygg ett cold call-manus med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: cold-call script builder -->

<div class="hook-introduction">

<p>Dina cold calls tappar förmodligen folk redan under de första 10 sekunderna. Inte för att ditt erbjudande är dåligt, utan för att öppningen låter manusstyrd, värdet är otydligt och ”nästa steg” blir stelt. Sedan lägger du på och tänker: ”Jag behöver ett bättre manus”, och så skriver du om det… igen.</p>



<p>Den här <strong>cold-call script builder</strong> är byggd för <strong>SDR:er</strong> som behöver en tajt talk track inför nästa ringblock, <strong>grundare</strong> som kör ägarledd försäljning och vill låta självsäkra utan att låta repeterade, samt <strong>säljchefer</strong> som vill ha konsekventa budskap mellan reps samtidigt som det finns utrymme för en naturlig leverans. Resultatet är ett färdigt, branschspecifikt cold-call-manus med markerade repliker, inbyggda kvalificeringsfrågor, realistiska invändningar (med svar) och en tydlig CTA.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den skriver ett komplett cold-call-manus anpassat till din bransch, inklusive öppning, kvalificering, pitch, invändningshantering och avslut.</li>
          <li>Den börjar med en kort ”föranalys” så att AI:n bekräftar vem som ska ringas och vad erbjudandet är innan den låser formuleringarna.</li>
          <li>Den kartlägger sannolika smärtpunkter och vanliga invändningar för den angivna branschen och bakar in dem i talk tracken.</li>
          <li>Den skriver om din produktbeskrivning till en skarp värdeberättelse som kopplar resultat till prospektets vardagsfriktion.</li>
          <li>Den använder frasering som tar hänsyn till beroendegrammatik (tydliga subjekt → verb → objekt-kedjor) för att göra manuset lätt att säga högt.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du startar en ny outbound-satsning och behöver budskap innan du har samtalsinspelningar att lära av.</li>
          <li>Ditt team får ”skicka ett mejl” eller ”inte intresserad” om och om igen och du misstänker att öppningen är det verkliga problemet.</li>
          <li>Du har en produktuppdatering eller ett nytt paket och ditt gamla manus matchar inte längre det som särskiljer er.</li>
          <li>Reps improviserar för mycket, så kvalificeringen blir inkonsekvent och pipeline-kvaliteten försämras.</li>
          <li>Du går in i en ny vertikal och behöver branschspecifik pushback, inte generiska invändningar som passar alla.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>Ett komplett cold-call-manus i ett sammanhängande dialogflöde med markerade repliker (Rep/Prospekt).</li>
           <li>En lista med viktiga branschsmärtpunkter plus de vanligaste invändningarna du bör förvänta dig att höra.</li>
           <li>Ett set kvalificeringsfrågor som passar branschkontexten och naturligt leder prospektet framåt.</li>
           <li>Invändningssvar skrivna som talat språk, med korta fraser du kan leverera utan att snubbla på dem.</li>
           <li>En entydig call-to-action som matchar den tidsram du anger (till exempel ”ett 15-minuterssamtal den här veckan”).</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: branschspecifik cold-call script builder</h2>


<!-- Prompt file not found: /home/reben001/htdocs/nodenordic.se/wp-content/data/prompts_scraped/5001101/prompt-2026.txt -->

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Gör branschen smal med flit.</strong> ”Sjukvård” är för brett; ”fysioterapikliniker med flera mottagningar” ger prompten något verkligt att jobba med. Om du säljer till flera undersegment, kör prompten en gång per segment och jämför öppningar sida vid sida.</li>


<li><strong>Skriv produktbeskrivningen som en säljare, inte som en webbplats.</strong> Ta med vad den ersätter, vem som använder den och det mätbara resultatet. Ett bra input ser ut så här: ”Vi är en managed IT-leverantör för advokatbyråer; vi minskar driftstopp och hanterar compliance-patchning”, inte ”Best-in-class IT solutions.”</li>


<li><strong>Tvinga fram en specifik CTA-tidsram.</strong> Om du lämnar tidsramen tom kan avslutet kännas generiskt. Testa att lägga till: ”CTA timeframe: 10 minutes now” eller ”CTA timeframe: 15 minutes Wednesday/Thursday”, och lyssna på hur mycket renare slutet låter.</li>


<li><strong>Iterera med kontrast.</strong> Efter första outputen, fråga: ”Skriv nu om öppningen i två stilar: (1) direkt och rak, (2) varm och nyfikenhetsdriven. Behåll samma kvalificeringsfrågor.” Du lär dig snabbt vad som passar din röst och din marknad.</li>


<li><strong>Stresstesta invändningar innan du kör live.</strong> Lägg till en följd-prompt som: ”Ge mig fem hårdare versioner av de två vanligaste invändningarna, och skriv om svaren så att de förblir lugna, korta och specifika.” Ärligt talat är det här manuset blir redo för samtal.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompts</h2>



<p>Om ditt cold-call-manus sitter är nästa flaskhals oftast enablement: träning, konsekvens och repeterbar processdokumentation.</p>



<p>Om du också behöver ett strukturerat sätt att lära team att tänka igenom data och prestation (i stället för att gissa) passar <a href="https://nodenordic.se/prompts/bygg-en-branschanpassad-kursplan-i-dataanalys">Bygg en branschanpassad kursplan i dataanalys</a> bra. När ledningen börjar fråga ”Vilken öppning funkar?” eller ”Var tappar vi prospekt?”, hjälper ett enkelt upplägg icke-analytiker att läsa resultaten och agera på dem.</p>



<p>För team som jobbar med löpande coaching kan <a href="https://nodenordic.se/prompts/skapa-en-spelifierad-utbildningsplan-i-dataanalys">Skapa en spelifierad utbildningsplan i dataanalys</a> göra införandet enklare. Använd den när du vill att reps och chefer faktiskt ska öva på att titta på samtalsmätetal, inte bara höra om dem på ett möte och sedan glömma.</p>



<p>När dina manus och samtalsutfall börjar skapa kalkylark, anteckningar och exporter från flera verktyg kan du vilja få bättre operativ hygien. <a href="https://nodenordic.se/prompts/bygg-ett-sakert-mallsystem-for-dataimport-med-ai-prompt">Bygg ett säkert mallsystem för dataimport med AI-prompt</a> hjälper dig att standardisera vad som importeras och hur, vilket gör det enklare att jämföra kampanjer utan stökiga fält och etiketter som inte matchar.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/bygg-en-branschanpassad-kursplan-i-dataanalys">Bygg en branschanpassad kursplan i dataanalys</a>: Träna team att läsa och agera på mätetal.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-spelifierad-utbildningsplan-i-dataanalys">Skapa en spelifierad utbildningsplan i dataanalys</a>: Gör analytics-träning konsekvent och engagerande.</li>


<li><a href="https://nodenordic.se/prompts/bygg-ett-sakert-mallsystem-for-dataimport-med-ai-prompt">Bygg ett säkert mallsystem för dataimport med AI-prompt</a>: Standardisera importer så att rapporteringen förblir tillförlitlig.</li>


<li><a href="https://nodenordic.se/prompts/bygg-ett-dataarkiveringsprogram-med-ai-prompt">Bygg ett dataarkiveringsprogram med ai-prompt</a>: Håll historisk prestationsdata tillgänglig och organiserad.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-roadmapp-for-datatyper-som-handledare-med-ai-prompt">Bygg en roadmapp för datatyper som handledare med AI-prompt</a>: Höj dataläskunnigheten för bättre beslut.</li>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här cold-call script builder-AI-prompten?</span>

<p class="answer"><strong>Sales Development Representatives (SDR:er)</strong> använder den för att få en talk track som är lätt att leverera vid högvolymringning, med kvalificering och invändningssvar redan inbyggt. <strong>Account Executives (AE:er)</strong> lutar sig mot den när de prospekterar in i nya vertikaler och behöver branschspecifik pushback för att snabbt låta trovärdiga. <strong>Grundare som kör outbound</strong> gynnas eftersom manuset håller en samtalston och behåller momentum utan att kräva en säljmässig ”performance”. <strong>Säljchefer</strong> använder den för att standardisera budskap över teamet och coacha mot samma struktur i call reviews.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här cold-call script builder-AI-prompten?</span>

<p class="answer"><strong>B2B SaaS</strong>-team får värde eftersom prompten kopplar en produktbeskrivning till utfall och använder kvalificering för att undvika demos med konton som passar dåligt. <strong>Professionella tjänster</strong> (byråer, IT-leverantörer, konsultbolag) gynnas eftersom branschspecifika invändningar ofta återkommer, och ett starkt manus hjälper dig att särskilja dig utan att svamla. Säljare inom <strong>tillverkning och logistik</strong> kan använda den för att översätta tekniska erbjudanden till operativa smärtpunkter som förseningar, omarbete och regelefterlevnad. <strong>Leverantörer nära vård</strong> (fakturering, bemanning, programvara) möter ofta omedelbar skepsis, så realistisk pushback och lugna, korta svar spelar stor roll.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompter för att skriva cold-call-manus svaga resultat?</span>

<p class="answer">En typisk prompt som ”Skriv ett cold-call-manus för mitt företag” faller för att den: saknar branschens smärtpunkter och landar i generiska påståenden, ger ingen samtalsstruktur i fem delar (öppning → kvalificera → föreslå → invändningar → avslut), ignorerar vilka beslutsfattare och påverkare som finns, producerar ordiga stycken i stället för talad dialog med tydliga repliker, och missar en enda, entydig CTA kopplad till en tidsram. Den förutser inte heller realistisk pushback, så första invändningen slår hela samtalet ur kurs. Den här prompten tvingar manuset att vara lätt att läsa högt, inte bara ”snygg text” på en skärm.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här cold-call script builder-prompten för min specifika situation?</span>

<p class="answer">Ja. De viktigaste variablerna att anpassa är [INDUSTRY], [PRODUCT_DESCRIPTION] och [TIMEFRAME], eftersom de styr smärtpunkterna, värdeberättelsen och hur avslutet landar. Om din marknad har flera buyer personas, lägg till en kort [CONTEXT]-notis som ”ringer ops managers först, CFO second” så att kvalificeringsfrågorna matchar verkligheten. När du fått första utkastet kan du följa upp med: ”Skriv om samma manus för ett mer skeptiskt prospekt och gör kvalificeringen tajtare. Behåll CTA på 15 minuter.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här cold-call script builder-prompten?</span>

<p class="answer">Det största misstaget är att lämna [INDUSTRY] för vag — i stället för ”real estate”, testa ”commercial property management firms with 5–50 buildings”. Ett annat vanligt fel är en fluffig [PRODUCT_DESCRIPTION]; ”AI-powered platform that drives growth” bör bli ”automates outbound follow-ups and books meetings for AEs.” Många glömmer också att sätta [TIMEFRAME], och då blir CTA:n ”sometime next week” i stället för ”10 minutes now” eller ”15 minutes Wed/Thu.” Till sist: om du hoppar över [CONTEXT] när erbjudandet är komplext kan manuset kvalificera fel saker; lägg till en notis som ”replacement for their current vendor, not a new initiative” för att styra frågorna.</p>

</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här cold-call script builder-prompten?</span>

<p class="answer">Den här prompten är inte optimal för engångsringning där du inte kommer att iterera eller testa budskap, eftersom de stora vinsterna kommer av att köra varianter och jämföra utfall. Den är inte heller bästa valet om du ännu inte kan beskriva din produkt i praktiska termer; du får ett manus, men det vilar på osäkra inputs. Och om teamet bara vill ha en snabb mall utan någon strategi bakom kan föranalysen och invändningskartläggningen kännas som ”extra”. I de fallen: validera grunderna i erbjudandet först, och kom sedan tillbaka för ett manus du faktiskt kan använda.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här cold-call script builder-AI-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sales Development Representatives (SDR:er) använder den för att få en talk track som är lätt att leverera vid högvolymringning, med kvalificering och invändningssvar redan inbyggt. Account Executives (AE:er) lutar sig mot den när de prospekterar in i nya vertikaler och behöver branschspecifik pushback för att snabbt låta trovärdiga. Grundare som kör outbound gynnas eftersom manuset håller en samtalston och behåller momentum utan att kräva en säljmässig ”performance”. Säljchefer använder den för att standardisera budskap över teamet och coacha mot samma struktur i call reviews."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här cold-call script builder-AI-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "B2B SaaS-team får värde eftersom prompten kopplar en produktbeskrivning till utfall och använder kvalificering för att undvika demos med konton som passar dåligt. Professionella tjänster (byråer, IT-leverantörer, konsultbolag) gynnas eftersom branschspecifika invändningar ofta återkommer, och ett starkt manus hjälper dig att särskilja dig utan att svamla. Säljare inom tillverkning och logistik kan använda den för att översätta tekniska erbjudanden till operativa smärtpunkter som förseningar, omarbete och regelefterlevnad. Leverantörer nära vård (fakturering, bemanning, programvara) möter ofta omedelbar skepsis, så realistisk pushback och lugna, korta svar spelar stor roll."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompter för att skriva cold-call-manus svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv ett cold-call-manus för mitt företag” faller för att den: saknar branschens smärtpunkter och landar i generiska påståenden, ger ingen samtalsstruktur i fem delar (öppning → kvalificera → föreslå → invändningar → avslut), ignorerar vilka beslutsfattare och påverkare som finns, producerar ordiga stycken i stället för talad dialog med tydliga repliker, och missar en enda, entydig CTA kopplad till en tidsram. Den förutser inte heller realistisk pushback, så första invändningen slår hela samtalet ur kurs. Den här prompten tvingar manuset att vara lätt att läsa högt, inte bara ”snygg text” på en skärm."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här cold-call script builder-prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. De viktigaste variablerna att anpassa är [INDUSTRY], [PRODUCT_DESCRIPTION] och [TIMEFRAME], eftersom de styr smärtpunkterna, värdeberättelsen och hur avslutet landar. Om din marknad har flera buyer personas, lägg till en kort [CONTEXT]-notis som ”ringer ops managers först, CFO second” så att kvalificeringsfrågorna matchar verkligheten. När du fått första utkastet kan du följa upp med: ”Skriv om samma manus för ett mer skeptiskt prospekt och gör kvalificeringen tajtare. Behåll CTA på 15 minuter.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här cold-call script builder-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [INDUSTRY] för vag — i stället för ”real estate”, testa ”commercial property management firms with 5–50 buildings”. Ett annat vanligt fel är en fluffig [PRODUCT_DESCRIPTION]; ”AI-powered platform that drives growth” bör bli ”automates outbound follow-ups and books meetings for AEs.” Många glömmer också att sätta [TIMEFRAME], och då blir CTA:n ”sometime next week” i stället för ”10 minutes now” eller ”15 minutes Wed/Thu.” Till sist: om du hoppar över [CONTEXT] när erbjudandet är komplext kan manuset kvalificera fel saker; lägg till en notis som ”replacement for their current vendor, not a new initiative” för att styra frågorna."
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här cold-call script builder-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för engångsringning där du inte kommer att iterera eller testa budskap, eftersom de stora vinsterna kommer av att köra varianter och jämföra utfall. Den är inte heller bästa valet om du ännu inte kan beskriva din produkt i praktiska termer; du får ett manus, men det vilar på osäkra inputs. Och om teamet bara vill ha en snabb mall utan någon strategi bakom kan föranalysen och invändningskartläggningen kännas som ”extra”. I de fallen: validera grunderna i erbjudandet först, och kom sedan tillbaka för ett manus du faktiskt kan använda."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Cold calls funkar när språket är enkelt, logiken är tajt och nästa steg är lätt att säga. Klistra in den här prompten i ChatGPT, fyll i din bransch och ditt erbjudande och gå in i nästa ringblock med ett manus du faktiskt kan leverera.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-ett-cold-call-manus-med-ai-prompt/">Bygg ett cold call-manus med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skapa en adaptiv HTML-lärväg med denna AI-prompt</title>
		<link>https://nodenordic.se/prompts/skapa-en-adaptiv-html-larvag-med-denna-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-en-adaptiv-html-larvag-med-denna-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:17:23 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001409</guid>

					<description><![CDATA[<p>Utan struktur stannar lärandet – använd denna AI-prompt för att kartlägga mål och skapa en stegvis HTML-resa med övningar och kontroller.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-adaptiv-html-larvag-med-denna-ai-prompt/">Skapa en adaptiv HTML-lärväg med denna AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: adaptive HTML learning path -->

<div class="hook-introduction">

<p>Du börjar lära dig HTML med goda intentioner. Sedan staplas flikarna på hög, handledningarna säger emot varandra och du fastnar i att kopiera kod utan att förstå varför den fungerar. Tempot sjunker till ett krypande. Ärligt talat är det inte ett motivationsproblem – det är ett strukturproblem.</p>



<p>Den här <strong>adaptiva HTML-lärvägen</strong> är byggd för <strong>marknadschefer</strong> som behöver redigera landningssidor utan att förstöra layouten, <strong>startupgrundare</strong> som vill få ut en korrekt formaterad, semantisk startsida snabbt, och <strong>konsulter</strong> som vill ha ett repeterbart sätt att få kunder (eller juniora kollegor) upp i fart. Resultatet är en personlig, flerstegs HTML-kursplan (vanligtvis 6–13 steg) med interaktiva grindar, övningsuppgifter och tydliga “nästa”-kontroller så att du bara går vidare när du är redo.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den gör en diagnostisk kartläggning för att identifiera din grundnivå, ditt mål, din tidsbudget och din föredragna inlärningsstil innan den lär ut något.</li>
          <li>Den skapar en personlig HTML-roadmap som börjar i grunderna och tar dig mot semantisk sidstruktur på professionell nivå.</li>
          <li>Den delar upp lärandet i ett varierande antal steg (ungefär 6–13) och avgränsar varje steg så att du inte blir överväldigad.</li>
          <li>Den inför interaktiva grindar: du måste först svara på kartläggningsfrågorna, och du måste skriva ett tydligt kommando för att gå vidare (som “nästa”) för att fortsätta.</li>
          <li>Den hanterar specialfall genom att ställa upp till tre förtydligande frågor när dina indata saknas, är otydliga eller motsägelsefulla, och föreslår sedan en rimlig standardväg.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du börjar om med HTML “från början” hela tiden eftersom du inte vet vad du ska lära dig först eller vad du kan ignorera.</li>
          <li>Du kan redigera innehåll i ett CMS, men semantiska taggar, DOM-struktur och tillgänglighetsregler känns fortfarande otydliga.</li>
          <li>Du har närliggande erfarenhet (design, marketing ops, grundläggande JavaScript) och behöver en snabbare ramp som hoppar över onödigt pill.</li>
          <li>En projektdeadline tvingar dig att bygga eller fixa riktiga sidor, och du behöver övningar kopplade till praktiska resultat.</li>
          <li>Du handleder någon i teamet och vill ha en steg-för-steg-väg som inte rasar efter första veckan.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En skräddarsydd lärplan i 6–13 steg som matchar din nuvarande nivå och din veckovisa tidsbudget.</li>
           <li>En tydlig diagnostisk enkät för steg 1 plus en “vänta på mina svar”-grind så att planen faktiskt blir personlig.</li>
           <li>Övningsuppgifter och kontroller per steg (vad du ska bygga, vad du ska verifiera och hur “klart” ser ut).</li>
           <li>Tempojusteringar baserade på din profil, så att nybörjare får mer stöd och erfarna deltagare rör sig snabbare.</li>
           <li>En rekommenderad standardväg när detaljer är oklara, plus upp till 3 riktade förtydligande frågor för att finslipa den.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för adaptiv HTML-lärväg</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv deltagarens bakgrund, erfarenhetsnivå och andra relevanta egenskaper som kan påverka hur programmet utformas.                                    <div class="var-example">Till exempel: "En nybörjare utan programmeringsvana som vill bygga personliga webbplatser och bloggar för kreativa projekt."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ange ytterligare omständigheter eller begränsningar som kan påverka hur programmet struktureras eller genomförs.                                    <div class="var-example">Till exempel: "Deltagaren har begränsat med tid på grund av ett heltidsjobb och föredrar att studera på kvällstid."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Förklara vilket huvudsakligt resultat deltagaren vill uppnå genom att genomföra HTML-programmet.                                    <div class="var-example">Till exempel: "Att skapa en portfolio-webbplats som visar upp deras grafiska designarbete med semantisk HTML."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange den totala tid deltagaren kan avsätta för att genomföra programmet, inklusive eventuella deadlines.                                    <div class="var-example">Till exempel: "10 veckor med 5 timmar per vecka avsatta för lärande och övning."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Beskriv deltagarens föredragna sätt att lära, till exempel praktiska övningar, visuella guider eller konceptuella förklaringar.                                    <div class="var-example">Till exempel: "Praktiska övningar med steg-för-steg-instruktioner och visuella exempel."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Ange vilken ton programmet ska ha, till exempel formell, samtalston eller motiverande.                                    <div class="var-example">Till exempel: "Samtalston och uppmuntrande, med fokus på att bygga självförtroende i tekniska färdigheter."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Ange valfri egen variabel- eller platshållarnamn med versaler och understreck som avgränsare.                                    <div class="var-example">Till exempel: "DELTAGARPROFIL"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORES]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="prompt-header-visible subheader">1) Föranalys (krävs innan undervisning)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Diagnostisk kartläggning (steg 1)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Utforma lärväg</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Loop för leverans per steg</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Regler för adaptiv ruttning</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Omfattningsgränser — vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="prompt-header-visible subheader">Steg 1: Diagnostisk kartläggning (du måste outputa dessa frågor)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Personlig färdplan (efter svar i steg 1)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Undervisning inom ett steg (när eleven fortsätter)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa ett adaptivt HTML-inlärningsprogram som börjar med att diagnostisera elevens utgångsläge och mål, och som sedan genererar en personlig, flerstegsbaserad kursplan som lär ut HTML från första principer hela vägen till semantisk, professionell sidarkitektur. Programmet måste guida eleven interaktivt (be om svar och sedan gå vidare först på uttryckliga kommandon från eleven).

## PERSONA
Du är en senior HTML-systemdesigner och utbildare som tidigare designade storskaliga företagswebbar och senare gick över till undervisning. Du betonar HTML som ett betydelsedrivet gränssnitt mellan människor, webbläsare och DOM:en—undervisat som ett praktiskt hantverk med tydliga mentala modeller, inte som en memoriseringsövning.

## BEGRÄNSNINGAR
- Anpassa undervisningen efter elevens nuvarande förmåga, mål, tidsbudget och föredragna inlärningsstil.
- Undvik att överväldiga eleven: håll varje steg avgränsat och förstärk sedan med riktad övning.
- Använd dynamisk takt:
  - Nybörjare får mer stöttning och långsammare ramp.
  - Elever med närliggande kodningsvana går snabbare igenom grunderna.
- Kursplanen måste delas upp i ett varierande antal steg (ungefär 6–13), valt utifrån elevprofilen.
- Inkludera interaktiva grindar:
  - Eleven måste ge initiala svar innan du genererar färdplanen.
  - Eleven måste uttryckligen signalera progression (t.ex. ”next”) för att gå vidare.
- **Specialfall:** Om elevens indata saknas, är vaga eller motsägelsefulla, ställ högst 3 förtydligande frågor och föreslå en standardväg medan du väntar.

## PROCESS
### 1) Föranalys (krävs innan undervisning)
Börja med att kort ange:
- Vad du tror att eleven vill uppnå
- Vilka antaganden du gör baserat på givna indata
- Vilken information som saknas (om någon)

### 2) Diagnostisk kartläggning (steg 1)
Ställ kartläggningsfrågorna till eleven (se OUTPUT SPECIFICATION) och invänta deras svar samt deras progressionskommando.

### 3) Utforma lärväg
Efter kartläggningen:
- Välj antal steg baserat på elevprofilen (tid, föredragen takt, komplexitet i slutmålet, tidigare erfarenhet).
- Generera en steg-för-steg-färdplan med:
  - Stegtitel
  - Vad de kommer att lära sig
  - En “bygga/öva”-aktivitet
  - En mätbar kontroll för att bli klar

### 4) Loop för leverans per steg
För varje steg:
- Undervisa enligt elevens föredragna stil (praktiskt, visuella beskrivningar, konceptuell inramning eller blandat).
- Ge ett litet exempel (skriv om det på nytt varje gång; inga repetitiva mallar).
- Ge en övning och en snabb självkoll-rubrik.
- Be om ett progressionskommando innan du fortsätter till nästa steg.

### 5) Regler för adaptiv ruttning
Gör följande justeringar:
- Om eleven är helt ny: lägg till fler guidade genomgångar, markeringar av vanliga fel och mini-avstämningar.
- Om eleven kodar i andra språk: minska generellt programmeringssnack och fokusera på HTML-semantik, struktur och dokumentmönster.
- Om tiden är knapp: slå ihop eller strömlinjeforma mellan/sena steg (formulär, tillgänglighet, SEO/prestanda) samtidigt som du bevarar det väsentliga och ger korta referensanteckningar.
- Om fokus är karriär: öka betoningen på standarder, underhållbarhet, portföljfärdiga projekt och ”varför detta görs i branschen.”

### 6) Omfattningsgränser — vad detta INTE är
- Inte en CSS-designkurs (du får nämna minimal CSS endast när det behövs för att demonstrera HTML-beteende).
- Inte en JavaScript-kursplan (du får referera till JS endast för att förklara integrationspunkter).
- Inte ett ramverksspecifikt spår (inga React/Vue/Angular-handledningar om inte eleven uttryckligen ber om det).
- Inte juridisk rådgivning om efterlevnad (vägledning om tillgänglighet är utbildande, inte juridisk rådgivning).

## INPUTS
- **Primärt användarsegment / elevbeskrivning:** [MALGRUPP]
- **Nuvarande kunskapsnivå (kort):** [KONTEXT]
- **Huvudmål med att lära dig HTML:** [HUVUDMAL]
- **Tid tillgänglig per vecka + total tidslinje:** [TIDSRAM]
- **Föredragen inlärningsstil:** [FORMAT]
- **Tonalitetspreferens för undervisning:** [TON]

## OUTPUT SPECIFICATION
### Steg 1: Diagnostisk kartläggning (du måste outputa dessa frågor)
Be eleven att svara och sedan ge progressionskommandot:
- {Question 1}: ”Har du tidigare redigerat kod eller markup? (Nej / Lite / Ja—regelbundet)”
- {Question 2}: ”Vad försöker du göra med HTML? (Personliga projekt / Karriärbyte / Höja nivån på jobbet / Nyfikenhet / Annat: {Learner Goal})”
- {Question 3}: ”Hur mycket tid kan du lägga per vecka? ({Time Option A} / {Time Option B} / {Time Option C})”
- {Question 4}: ”Hur lär du dig bäst? (Bygga praktiskt / Konceptförklaringar / Genomarbetade exempel / En mix)”
- {Command Prompt}: ”Efter att du svarat, skriv {Intake Completion Command} för att generera din plan.”

### Personlig färdplan (efter svar i steg 1)
Ta fram:
- {Recommended Stage Count} med en motivering på 1–2 meningar
- En lista med steg. För varje steg, ange:
  - {Stage Number}: {Stage Title}
  - {Key Ideas} (punkter)
  - {Mini Build} (en praktisk aktivitet)
  - {Completion Criteria} (observerbart resultat)
  - {Progression Instruction} (vad eleven ska skriva för att fortsätta)

### Undervisning inom ett steg (när eleven fortsätter)
För aktuellt steg, outputa:
- {Lesson Summary}
- {Mental Model} (hur man ska tänka kring konceptet)
- {Example} (liten, konkret HTML-snutt när det är lämpligt)
- {Exercise}
- {Self Check}
- {Progression Prompt}

## KVALITETSKONTROLLER
Innan du slutför någon färdplan eller steglektion, verifiera:
- Planen matchar elevens angivna mål och tidsbegränsningar.
- Antalet steg stämmer med takt och erfarenhet (inte för kort, inte uppblåst).
- Varje steg inkluderar övning + mätbara kriterier för att bli klar.
- Exempel är anpassade till kunskapsnivån och introducerar inga oförklarade koncept.
- Alla användarindata använder [VERSALER_MED_UNDERSCORES] och alla output-platshållare använder {Title Case}.

Börja nu genom att köra **Föranalys**, och ställ sedan frågorna för **Steg 1: Diagnostisk kartläggning**.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa ett adaptivt HTML-inl\u00e4rningsprogram som b\u00f6rjar med att diagnostisera elevens utg\u00e5ngsl\u00e4ge och m\u00e5l, och som sedan genererar en personlig, flerstegsbaserad kursplan som l\u00e4r ut HTML fr\u00e5n f\u00f6rsta principer hela v\u00e4gen till semantisk, professionell sidarkitektur. Programmet m\u00e5ste guida eleven interaktivt (be om svar och sedan g\u00e5 vidare f\u00f6rst p\u00e5 uttryckliga kommandon fr\u00e5n eleven).\r\n\r\n## PERSONA\r\nDu \u00e4r en senior HTML-systemdesigner och utbildare som tidigare designade storskaliga f\u00f6retagswebbar och senare gick \u00f6ver till undervisning. Du betonar HTML som ett betydelsedrivet gr\u00e4nssnitt mellan m\u00e4nniskor, webbl\u00e4sare och DOM:en\u2014undervisat som ett praktiskt hantverk med tydliga mentala modeller, inte som en memoriserings\u00f6vning.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anpassa undervisningen efter elevens nuvarande f\u00f6rm\u00e5ga, m\u00e5l, tidsbudget och f\u00f6redragna inl\u00e4rningsstil.\r\n- Undvik att \u00f6verv\u00e4ldiga eleven: h\u00e5ll varje steg avgr\u00e4nsat och f\u00f6rst\u00e4rk sedan med riktad \u00f6vning.\r\n- Anv\u00e4nd dynamisk takt:\r\n  - Nyb\u00f6rjare f\u00e5r mer st\u00f6ttning och l\u00e5ngsammare ramp.\r\n  - Elever med n\u00e4rliggande kodningsvana g\u00e5r snabbare igenom grunderna.\r\n- Kursplanen m\u00e5ste delas upp i ett varierande antal steg (ungef\u00e4r 6\u201313), valt utifr\u00e5n elevprofilen.\r\n- Inkludera interaktiva grindar:\r\n  - Eleven m\u00e5ste ge initiala svar innan du genererar f\u00e4rdplanen.\r\n  - Eleven m\u00e5ste uttryckligen signalera progression (t.ex. \u201dnext\u201d) f\u00f6r att g\u00e5 vidare.\r\n- **Specialfall:** Om elevens indata saknas, \u00e4r vaga eller mots\u00e4gelsefulla, st\u00e4ll h\u00f6gst 3 f\u00f6rtydligande fr\u00e5gor och f\u00f6resl\u00e5 en standardv\u00e4g medan du v\u00e4ntar.\r\n\r\n## PROCESS\r\n### 1) F\u00f6ranalys (kr\u00e4vs innan undervisning)\r\nB\u00f6rja med att kort ange:\r\n- Vad du tror att eleven vill uppn\u00e5\r\n- Vilka antaganden du g\u00f6r baserat p\u00e5 givna indata\r\n- Vilken information som saknas (om n\u00e5gon)\r\n\r\n### 2) Diagnostisk kartl\u00e4ggning (steg 1)\r\nSt\u00e4ll kartl\u00e4ggningsfr\u00e5gorna till eleven (se OUTPUT SPECIFICATION) och inv\u00e4nta deras svar samt deras progressionskommando.\r\n\r\n### 3) Utforma l\u00e4rv\u00e4g\r\nEfter kartl\u00e4ggningen:\r\n- V\u00e4lj antal steg baserat p\u00e5 elevprofilen (tid, f\u00f6redragen takt, komplexitet i slutm\u00e5let, tidigare erfarenhet).\r\n- Generera en steg-f\u00f6r-steg-f\u00e4rdplan med:\r\n  - Stegtitel\r\n  - Vad de kommer att l\u00e4ra sig\r\n  - En \u201cbygga\/\u00f6va\u201d-aktivitet\r\n  - En m\u00e4tbar kontroll f\u00f6r att bli klar\r\n\r\n### 4) Loop f\u00f6r leverans per steg\r\nF\u00f6r varje steg:\r\n- Undervisa enligt elevens f\u00f6redragna stil (praktiskt, visuella beskrivningar, konceptuell inramning eller blandat).\r\n- Ge ett litet exempel (skriv om det p\u00e5 nytt varje g\u00e5ng; inga repetitiva mallar).\r\n- Ge en \u00f6vning och en snabb sj\u00e4lvkoll-rubrik.\r\n- Be om ett progressionskommando innan du forts\u00e4tter till n\u00e4sta steg.\r\n\r\n### 5) Regler f\u00f6r adaptiv ruttning\r\nG\u00f6r f\u00f6ljande justeringar:\r\n- Om eleven \u00e4r helt ny: l\u00e4gg till fler guidade genomg\u00e5ngar, markeringar av vanliga fel och mini-avst\u00e4mningar.\r\n- Om eleven kodar i andra spr\u00e5k: minska generellt programmeringssnack och fokusera p\u00e5 HTML-semantik, struktur och dokumentm\u00f6nster.\r\n- Om tiden \u00e4r knapp: sl\u00e5 ihop eller str\u00f6mlinjeforma mellan\/sena steg (formul\u00e4r, tillg\u00e4nglighet, SEO\/prestanda) samtidigt som du bevarar det v\u00e4sentliga och ger korta referensanteckningar.\r\n- Om fokus \u00e4r karri\u00e4r: \u00f6ka betoningen p\u00e5 standarder, underh\u00e5llbarhet, portf\u00f6ljf\u00e4rdiga projekt och \u201dvarf\u00f6r detta g\u00f6rs i branschen.\u201d\r\n\r\n### 6) Omfattningsgr\u00e4nser \u2014 vad detta INTE \u00e4r\r\n- Inte en CSS-designkurs (du f\u00e5r n\u00e4mna minimal CSS endast n\u00e4r det beh\u00f6vs f\u00f6r att demonstrera HTML-beteende).\r\n- Inte en JavaScript-kursplan (du f\u00e5r referera till JS endast f\u00f6r att f\u00f6rklara integrationspunkter).\r\n- Inte ett ramverksspecifikt sp\u00e5r (inga React\/Vue\/Angular-handledningar om inte eleven uttryckligen ber om det).\r\n- Inte juridisk r\u00e5dgivning om efterlevnad (v\u00e4gledning om tillg\u00e4nglighet \u00e4r utbildande, inte juridisk r\u00e5dgivning).\r\n\r\n## INPUTS\r\n- **Prim\u00e4rt anv\u00e4ndarsegment \/ elevbeskrivning:** [MALGRUPP]\r\n- **Nuvarande kunskapsniv\u00e5 (kort):** [KONTEXT]\r\n- **Huvudm\u00e5l med att l\u00e4ra dig HTML:** [HUVUDMAL]\r\n- **Tid tillg\u00e4nglig per vecka + total tidslinje:** [TIDSRAM]\r\n- **F\u00f6redragen inl\u00e4rningsstil:** [FORMAT]\r\n- **Tonalitetspreferens f\u00f6r undervisning:** [TON]\r\n\r\n## OUTPUT SPECIFICATION\r\n### Steg 1: Diagnostisk kartl\u00e4ggning (du m\u00e5ste outputa dessa fr\u00e5gor)\r\nBe eleven att svara och sedan ge progressionskommandot:\r\n- {Question 1}: \u201dHar du tidigare redigerat kod eller markup? (Nej \/ Lite \/ Ja\u2014regelbundet)\u201d\r\n- {Question 2}: \u201dVad f\u00f6rs\u00f6ker du g\u00f6ra med HTML? (Personliga projekt \/ Karri\u00e4rbyte \/ H\u00f6ja niv\u00e5n p\u00e5 jobbet \/ Nyfikenhet \/ Annat: {Learner Goal})\u201d\r\n- {Question 3}: \u201dHur mycket tid kan du l\u00e4gga per vecka? ({Time Option A} \/ {Time Option B} \/ {Time Option C})\u201d\r\n- {Question 4}: \u201dHur l\u00e4r du dig b\u00e4st? (Bygga praktiskt \/ Konceptf\u00f6rklaringar \/ Genomarbetade exempel \/ En mix)\u201d\r\n- {Command Prompt}: \u201dEfter att du svarat, skriv {Intake Completion Command} f\u00f6r att generera din plan.\u201d\r\n\r\n### Personlig f\u00e4rdplan (efter svar i steg 1)\r\nTa fram:\r\n- {Recommended Stage Count} med en motivering p\u00e5 1\u20132 meningar\r\n- En lista med steg. F\u00f6r varje steg, ange:\r\n  - {Stage Number}: {Stage Title}\r\n  - {Key Ideas} (punkter)\r\n  - {Mini Build} (en praktisk aktivitet)\r\n  - {Completion Criteria} (observerbart resultat)\r\n  - {Progression Instruction} (vad eleven ska skriva f\u00f6r att forts\u00e4tta)\r\n\r\n### Undervisning inom ett steg (n\u00e4r eleven forts\u00e4tter)\r\nF\u00f6r aktuellt steg, outputa:\r\n- {Lesson Summary}\r\n- {Mental Model} (hur man ska t\u00e4nka kring konceptet)\r\n- {Example} (liten, konkret HTML-snutt n\u00e4r det \u00e4r l\u00e4mpligt)\r\n- {Exercise}\r\n- {Self Check}\r\n- {Progression Prompt}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r n\u00e5gon f\u00e4rdplan eller steglektion, verifiera:\r\n- Planen matchar elevens angivna m\u00e5l och tidsbegr\u00e4nsningar.\r\n- Antalet steg st\u00e4mmer med takt och erfarenhet (inte f\u00f6r kort, inte uppbl\u00e5st).\r\n- Varje steg inkluderar \u00f6vning + m\u00e4tbara kriterier f\u00f6r att bli klar.\r\n- Exempel \u00e4r anpassade till kunskapsniv\u00e5n och introducerar inga of\u00f6rklarade koncept.\r\n- Alla anv\u00e4ndarindata anv\u00e4nder [VERSALER_MED_UNDERSCORES] och alla output-platsh\u00e5llare anv\u00e4nder {Title Case}.\r\n\r\nB\u00f6rja nu genom att k\u00f6ra **F\u00f6ranalys**, och st\u00e4ll sedan fr\u00e5gorna f\u00f6r **Steg 1: Diagnostisk kartl\u00e4ggning**.";
    const variables = ["[MALGRUPP]","[KONTEXT]","[HUVUDMAL]","[TIDSRAM]","[FORMAT]","[TON]","[VERSALER_MED_UNDERSCORES]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Svara på kartläggningen som om det vore en projektbrief.</strong> Säg inte “lära mig HTML för jobbet”. Säg vad du bygger och var det ska ligga, till exempel: “Jag behöver publicera semantiska bloggmallar i Webflow och ibland felsöka embed-kod.” Prompten anpassar sig bäst när ditt mål har ett konkret slutresultat.</li>


<li><strong>Ange din tidsbudget i timmar och rytm.</strong> “3 timmar/vecka på helger” är mer användbart än “inte så mycket tid”. Om du vill att planen ska passa en deadline, skriv den uttryckligen. Uppföljningsprompt du kan använda efter kartläggningen: “Utforma stegen så att jag kan nå en portföljredo sida på 14 dagar.”</li>


<li><strong>Berätta vad du redan kan som ligger nära HTML.</strong> Om du har jobbat med CSS, React, e-post-HTML eller innehållssystem, nämn det så att tempot kan skruvas upp i grunderna utan att hoppa över mentalmodellerna. Prova: “Jag förstår klasser och grundläggande CSS-selektorer, men jag kämpar med semantisk layout och tillgänglighet.”</li>


<li><strong>Använd “nästa”-grinden för att tvinga fram verklig behärskning.</strong> Efter varje steg, be om en snabb kontroll innan du går vidare: “Innan jag säger ‘nästa’, ge mig ett självtetest med 5 frågor som fokuserar på de vanligaste misstagen i det här steget.” Svara sedan – och gå först därefter vidare.</li>


<li><strong>Be om ett parallellt spår för en “riktig sida”.</strong> Prompten är designad som en kursplan, men du får det att sitta genom att koppla varje steg till en sida du faktiskt behöver. När den har skapat roadmappen, säg: “För varje steg, lägg till en praktisk uppgift som förbättrar min startsidas HTML utan att lägga till CSS.” Det är en enkel twist som håller lärandet förankrat i verkligheten.</li>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompts</h2>



<p>Om du också bygger strukturerade dokument med tydliga avsnitt, grindar och logik som är lätt att granska, passar de här promptarna bra ihop med en stegvis lärväg.</p>



<p>För team som driver utbildningsprogram inom ideella organisationer eller community-initiativ hjälper <a href="https://nodenordic.se/prompts/skriv-en-finansiarsklar-bidragsansokan-med-ai-prompt">Skriv en finansiärsredo bidragsansökan med den här AI-prompten</a> dig att göra om ett grovt koncept till en sammanhängande berättelse som är lättare att motivera och budgetera för. Använd den när lärplanen behöver finansiering, godkännanden eller externa intressenter som bryr sig mer om resultat än om kursplandetajer.</p>



<p>När du vill ha en tydlig struktur innan du skriver är <a href="https://nodenordic.se/prompts/skapa-en-disposition-for-ansokan-om-bidrag-med-ai-prompt">Bygg en disposition för en bidragsansökan med den här AI-prompten</a> användbar för att förvandla “vi borde utbilda folk” till en disposition avsnitt för avsnitt med logiskt flöde. Det är ett bra komplement om du paketerar din HTML-utbildningsplan som en del av ett större kapacitetsbyggande initiativ.</p>



<p>Om du redan har byggstenarna och behöver en arbetsrytm kan <a href="https://nodenordic.se/prompts/bygg-en-operativ-plan-for-bidragsansokningar">Bygg en operativ plan för en bidragsansökan med den här AI-prompten</a> hjälpa dig att översätta en flerstegs-roadmap till tidslinjer, ansvar och checkpoints. Det är särskilt smidigt när du rullar ut HTML-vägen i ett team och vill ha konsekvens i hur framsteg mäts.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skriv-en-finansiarsklar-bidragsansokan-med-ai-prompt">Skriv en finansiärsredo bidragsansökan med den här AI-prompten</a>: Förvandla ett koncept till en berättelse som är redo för finansiärer.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-disposition-for-ansokan-om-bidrag-med-ai-prompt">Bygg en disposition för en bidragsansökan med den här AI-prompten</a>: Skapa en tydlig disposition med avsnitt.</li>

<li><a href="https://nodenordic.se/prompts/bygg-en-finansiarredo-ansokan-om-bidrag-med-ai">Bygg en finansiärsredo bidragsansökan med den här AI-prompten</a>: Sätt ihop en komplett ansökan från indata.</li>


<li><a href="https://nodenordic.se/prompts/skriv-ett-en-sidigt-foljebrev-for-bidrag-med-ai-prompt">Skriv ett bidragsansökningsbrev på en sida med den här AI-prompten</a>: Skriv ett skarpt följebrev för granskare.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-operativ-plan-for-bidragsansokningar">Bygg en operativ plan för en bidragsansökan med den här AI-prompten</a>: Förvandla idéer till tidslinje och ansvar.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för adaptiv HTML-lärväg?</span>

<p class="answer"><strong>Marknadschefer och growth marketers</strong> använder den för att lära sig precis tillräckligt med HTML för att tryggt kunna redigera landningssidor, inbäddningar och spårningssnuttar utan att gissa vad varje tagg gör. <strong>UX/UI-designers</strong> får nytta eftersom prompten betonar semantisk struktur och betydelse, vilket gör överlämning och beslut kring tillgänglighet enklare. <strong>Startupgrundare och produktgeneralister</strong> gillar den för snabba, stegvisa framsteg mot att faktiskt få ut en startsida eller marknadssajt. <strong>Tekniska konsulter och utbildare</strong> använder de interaktiva grindarna (“svara först”, sedan “nästa”) för att hindra deltagare från att rusa vidare utan att behärska grunderna.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för adaptiv HTML-lärväg?</span>

<p class="answer"><strong>SaaS-bolag</strong> använder den när team utanför utveckling behöver justera marknadssidor, dokumentation eller mallblock samtidigt som de håller markup korrekt formaterad och konsekvent. <strong>E-handelsvarumärken</strong> får värde när de ständigt redigerar produktinnehåll, kollektioner och kampanjsidor, och små HTML-misstag kan slå sönder layout eller spårning. <strong>Byråer och studior</strong> använder den för att kompetensutveckla juniora medarbetare så att leveranser till kunder följer semantiska och tillgänglighetsrelaterade best practices istället för “div-soppa”. <strong>Ideella organisationer och utbildningsprogram</strong> använder det stegvisa upplägget för att lära ut praktiska webbfärdigheter med tydliga checkpoints och ett tempo som matchar begränsade tidsbudgetar.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompter för att bygga en HTML-lärväg svaga resultat?</span>

<p class="answer">En typisk prompt som “<em>Skriv en HTML-lärplan åt mig</em>” misslyckas eftersom den: saknar en riktig diagnostisk kartläggning (så planen ignorerar din nivå och dina mål), saknar grindar eller styrning av progression (du får en stor innehållsdump), bortser från tempo-begränsningar som tidsbudget och inlärningsstil, producerar generiska ämneslistor istället för stegvisa övningsuppgifter och kontroller, och missar hantering av specialfall när dina indata är otydliga eller motsägelsefulla. Den här prompten tvingar modellen att fråga först, sedan designa steg, och därefter vänta på ditt “nästa”-kommando innan den går vidare.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för adaptiv HTML-lärväg till min specifika situation?</span>

<p class="answer">Ja. Prompten är byggd för att anpassa sig utifrån det du berättar i kartläggningen: din nuvarande nivå, ditt målresultat (vad du vill bygga), din tidsbudget och dina preferenser för inlärningsstil. Om roadmappen känns för långsam eller för intensiv kan du styra den med en direkt instruktion efter att planen har genererats, till exempel: “Bygg om stegen utifrån att jag kan avsätta 45 minuter/dag och jag lär mig bäst genom att bygga små leverabler.” Du kan också be den anpassa övningarna till din miljö: “Gör så att uppgifterna passar ett WordPress block theme-workflow och fokusera på semantiska sektioner och tillgänglighet.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för adaptiv HTML-lärväg?</span>

<p class="answer">Det största misstaget är att ge ett otydligt mål – istället för “lära mig HTML”, prova “bygga en semantisk marknadsförings-startsida med header/nav/main/footer och tillgängliga formulär”. Ett annat vanligt fel är att dölja din faktiska nivå; “jag är nybörjare” är mindre hjälpsamt än “jag kan redigera HTML men förstår inte när jag ska använda section vs div”. Många hoppar också över tempo-detaljerna, vilket gör stegen orealistiska (dåligt: “när jag hinner”, bättre: “2 timmar på tisdagar och torsdagar”). Slutligen ignorerar vissa “nästa”-grinden och ber inte om kontroller; en enkel fix är: “Innan jag säger nästa, ge mig en checklista och en miniutmaning som bevisar att jag förstod det här steget.”</p>

</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här prompten för adaptiv HTML-lärväg?</span>

<p class="answer">Den här prompten är inte optimal för någon som bara vill ha en enda statisk kursplan utan interaktion, eller för ett en timmes “cram”-pass precis före en intervju. Den ersätter inte heller en kodredigerare och verklig övning; du behöver fortfarande bygga och testa markup i en faktisk miljö. Om du vill ha färdiga mallar direkt, snarare än ett stegvis inlärningssystem, kan du börja med en referenssajt eller ett färdigt komponentbibliotek och sedan återvända till den här prompten för grunderna.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för adaptiv HTML-lärväg?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Marknadschefer och growth marketers använder den för att lära sig precis tillräckligt med HTML för att tryggt kunna redigera landningssidor, inbäddningar och spårningssnuttar utan att gissa vad varje tagg gör. UX/UI-designers får nytta eftersom prompten betonar semantisk struktur och betydelse, vilket gör överlämning och beslut kring tillgänglighet enklare. Startupgrundare och produktgeneralister gillar den för snabba, stegvisa framsteg mot att faktiskt få ut en startsida eller marknadssajt. Tekniska konsulter och utbildare använder de interaktiva grindarna (“svara först”, sedan “nästa”) för att hindra deltagare från att rusa vidare utan att behärska grunderna."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för adaptiv HTML-lärväg?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS-bolag använder den när team utanför utveckling behöver justera marknadssidor, dokumentation eller mallblock samtidigt som de håller markup korrekt formaterad och konsekvent. E-handelsvarumärken får värde när de ständigt redigerar produktinnehåll, kollektioner och kampanjsidor, och små HTML-misstag kan slå sönder layout eller spårning. Byråer och studior använder den för att kompetensutveckla juniora medarbetare så att leveranser till kunder följer semantiska och tillgänglighetsrelaterade best practices istället för “div-soppa”. Ideella organisationer och utbildningsprogram använder det stegvisa upplägget för att lära ut praktiska webbfärdigheter med tydliga checkpoints och ett tempo som matchar begränsade tidsbudgetar."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompter för att bygga en HTML-lärväg svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Skriv en HTML-lärplan åt mig\" misslyckas eftersom den: saknar en riktig diagnostisk kartläggning (så planen ignorerar din nivå och dina mål), saknar grindar eller styrning av progression (du får en stor innehållsdump), bortser från tempo-begränsningar som tidsbudget och inlärningsstil, producerar generiska ämneslistor istället för stegvisa övningsuppgifter och kontroller, och missar hantering av specialfall när dina indata är otydliga eller motsägelsefulla. Den här prompten tvingar modellen att fråga först, sedan designa steg, och därefter vänta på ditt “nästa”-kommando innan den går vidare."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för adaptiv HTML-lärväg till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Prompten är byggd för att anpassa sig utifrån det du berättar i kartläggningen: din nuvarande nivå, ditt målresultat (vad du vill bygga), din tidsbudget och dina preferenser för inlärningsstil. Om roadmappen känns för långsam eller för intensiv kan du styra den med en direkt instruktion efter att planen har genererats, till exempel: “Bygg om stegen utifrån att jag kan avsätta 45 minuter/dag och jag lär mig bäst genom att bygga små leverabler.” Du kan också be den anpassa övningarna till din miljö: “Gör så att uppgifterna passar ett WordPress block theme-workflow och fokusera på semantiska sektioner och tillgänglighet.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för adaptiv HTML-lärväg?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att ge ett otydligt mål – istället för “lära mig HTML”, prova “bygga en semantisk marknadsförings-startsida med header/nav/main/footer och tillgängliga formulär”. Ett annat vanligt fel är att dölja din faktiska nivå; “jag är nybörjare” är mindre hjälpsamt än “jag kan redigera HTML men förstår inte när jag ska använda section vs div”. Många hoppar också över tempo-detaljerna, vilket gör stegen orealistiska (dåligt: “när jag hinner”, bättre: “2 timmar på tisdagar och torsdagar”). Slutligen ignorerar vissa “nästa”-grinden och ber inte om kontroller; en enkel fix är: “Innan jag säger nästa, ge mig en checklista och en miniutmaning som bevisar att jag förstod det här steget.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här prompten för adaptiv HTML-lärväg?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för någon som bara vill ha en enda statisk kursplan utan interaktion, eller för ett en timmes “cram”-pass precis före en intervju. Den ersätter inte heller en kodredigerare och verklig övning; du behöver fortfarande bygga och testa markup i en faktisk miljö. Om du vill ha färdiga mallar direkt, snarare än ett stegvis inlärningssystem, kan du börja med en referenssajt eller ett färdigt komponentbibliotek och sedan återvända till den här prompten för grunderna."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>HTML blir dramatiskt mycket enklare när du lär dig det som en betydelsedriven struktur – inte som en påse med taggar. Klistra in prompten i ditt AI-verktyg, svara ärligt på kartläggningen och skriv “nästa” först när du har gjort övningarna.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-en-adaptiv-html-larvag-med-denna-ai-prompt/">Skapa en adaptiv HTML-lärväg med denna AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg en plan för automatiserad support med AI-prompten</title>
		<link>https://nodenordic.se/prompts/bygg-en-plan-for-automatiserad-support-med-ai-prompten/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-en-plan-for-automatiserad-support-med-ai-prompten</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:16:04 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5001713</guid>

					<description><![CDATA[<p>Supportteam fastnar i återkommande ärenden. AI-prompten ger en implementeringsklar assistentplan med KPI:er och överlämning. För alla modeller.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-plan-for-automatiserad-support-med-ai-prompten/">Bygg en plan för automatiserad support med AI-prompten</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: support automation blueprint -->

<div class="hook-introduction">

<p>Din supportinkorg fortsätter att fyllas med samma frågor. Agenter copy-pastar svar, kunder får vänta för länge och er ”help center-uppdatering” blir ännu ett halvfärdigt projekt. Det är inte att automation är omöjligt. Det är att de flesta team försöker improvisera utan en riktig blueprint.</p>



<p>Den här <strong>support automation blueprint</strong> är byggd för <strong>support operations-leads</strong> som behöver minska återkommande ärenden utan att sänka CSAT, <strong>produktchefer</strong> som måste lansera en assistent som inte förvirrar användare eller skapar policyrisk, och <strong>Customer Experience Directors</strong> som vill ha mätbara resultat och en säker överlämning till människa. Resultatet är en implementeringsklar plan för konversations-AI med intents, flöden, skyddsräcken, KPI:er, utrullningssteg och en eskaleringsdesign du faktiskt kan driftsätta.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den kartlägger en komplett end-to-end-plan för konversations-AI anpassad till din bransch, målgrupp och befintliga supportverktyg.</li>
          <li>Den tvingar fram tydlighet genom att ställa riktade frågor (upp till sju) när viktiga inputs som bransch, målgrupp eller system saknas.</li>
          <li>Den designar intent-hantering, flerturnskontext, flerspråkigt beteende när relevant och sentimentsstyrda tonförändringar.</li>
          <li>Den bygger in integritet-by-design och säkerhetsskyddsräcken, inklusive gränser för datahantering och begränsningar för säkra svar.</li>
          <li>Den specificerar en praktisk överlämningsväg till människa för otydliga, känsliga eller högriskfall så att agenter behåller kontrollen.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Ärendevolymen ökar och ”deflection” är ett mål, men du behöver en plan som inte sänker kundernas förtroende.</li>
          <li>Du rullar ut chattsupport (eller skalar upp) och era nuvarande makron, FAQ:er och routningsregler håller på att kollapsa.</li>
          <li>Ledningen vill ha en AI-assistent snabbt, men ni saknar krav för latens, tillförlitlighet och operativt ägarskap.</li>
          <li>Konkurrenter lanserar supportbotar och du behöver något säkert och underhållbart i stället för en skör demo.</li>
          <li>Du skalar till nya marknader och behöver flerspråkig täckning plus konsekvent policyefterlevnad i alla kanaler.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En konversations-AI-blueprint som täcker scope, antaganden, begränsningar och en stegvis lanseringsplan.</li>
           <li>En strukturerad intent- och flödesöversikt, inklusive kontextregler, sentimentsvar och fallback-hantering.</li>
           <li>En säkerhets- och integritetschecklista anpassad för supportkonversationer, med tydliga ”gör inte”-gränser.</li>
           <li>En överlämnings- och eskaleringsdesign (triggers, agentens kontextpaket och användarmeddelanden), redo att implementera.</li>
           <li>Ett KPI-set med definitioner (till exempel deflection rate, containment, CSAT-påverkan och eskaleringsprecision) samt vägledning för övervakning.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för support automation blueprint</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange vilken bransch eller sektor den konversationsbaserade AI:n ska implementeras i. Var så specifik som möjligt för att kunna anpassa lösningen effektivt.                                    <div class="var-example">Till exempel: "E-handel med inriktning på hållbart mode."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv det primära användarsegmentet eller den kundgrupp som AI:n ska stötta, inklusive viktiga kännetecken som demografi, preferenser och utmaningar.                                    <div class="var-example">Till exempel: "Millenniegenerationens onlinekunder som föredrar miljövänliga produkter och förväntar sig snabb kundsupport."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BEFINTLIGT_SUPPORTSYSTEM]</code></td>
                                <td class="var-desc">
                                    Beskriv nuvarande verktyg, plattformar och arbetsflöden för kundsupport. Inkludera gärna systemnamn och integrationspunkter om det finns.                                    <div class="var-example">Till exempel: "Zendesk för ärendehantering, livechatt via Intercom och e-postsupport som hanteras i Outlook."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BEFINTLIGT_SUPPORTSYSTEM]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Ange huvudsyftet med att införa den konversationsbaserade AI:n, till exempel att förbättra svarstider, sänka driftskostnader eller öka kundnöjdheten.                                    <div class="var-example">Till exempel: "Minska den genomsnittliga svarstiden på kundfrågor från 5 minuter till under 1 minut, samtidigt som höga kundnöjdhetsbetyg bibehålls."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SPRAK]</code></td>
                                <td class="var-desc">
                                    Lista de språk som den konversationsbaserade AI:n måste stödja. Ange eventuella dialekter eller regionala varianter om det är relevant.                                    <div class="var-example">Till exempel: "Engelska (USA), spanska (Latinamerika) och franska (Kanada)."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SPRAK]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KANALER_PLATTFORMAR]</code></td>
                                <td class="var-desc">
                                    Ange vilka kommunikationskanaler eller plattformar där AI:n ska användas, till exempel webbchatt, mobilappar eller meddelandetjänster i sociala medier.                                    <div class="var-example">Till exempel: "Webbchatt på företagets webbplats, meddelanden i appen och WhatsApp Business."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KANALER_PLATTFORMAR]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton och kommunikationsstil AI:n ska använda för att stämma överens med varumärkets identitet och värderingar.                                    <div class="var-example">Till exempel: "Vänlig och lättillgänglig, med fokus på tydlig och kortfattad kommunikation. Undvik alltför tekniskt språk."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INTEGRITET_EFTERLEVNADSKRAV]</code></td>
                                <td class="var-desc">
                                    Beskriv eventuella krav på integritet, säkerhet eller regelefterlevnad som AI:n måste följa, till exempel GDPR, HIPAA eller andra regelverk.                                    <div class="var-example">Till exempel: "Säkerställ full GDPR-efterlevnad, kryptera känsliga kunddata och inför säkra autentiseringsprotokoll."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[INTEGRITET_EFTERLEVNADSKRAV]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIDSRAM]</code></td>
                                <td class="var-desc">
                                    Ange önskad tidsplan för lansering av den konversationsbaserade AI:n, inklusive viktiga milstolpar eller deadlines.                                    <div class="var-example">Till exempel: "Lansera inom 6 månader, med en MVP klar inom 3 månader och full utrullning senast Q3."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIDSRAM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Uppgiftsförståelse (föranalys)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Arkitektur- och teknikblueprint (skalbar + effektiv)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Konversationsintelligens (NLP/LLM-förmågor)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Integrationer med befintlig supportverksamhet</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Plan för tränings-/kunskapsdata</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) UX- och UI-design för chatt</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) Eskalering och undantagshantering</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">8) Mätetal, framgångskriterier och övervakning</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">9) Test- och QA-plan (fokus på driftsäkerhet)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">10) Driftsättningsroadmap och tidslinje</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">11) Löpande underhåll och förbättring</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Utforma en praktisk, heltäckande plan från start till lansering för att bygga och lansera en konversationsbaserad AI som löser kundfrågor och supportärenden för [BRANSCH], i linje med behoven hos [MALGRUPP] och kompatibel med [BEFINTLIGT_SUPPORTSYSTEM]. Planen måste vara genomförbar och förutse verkliga begränsningar, risker och förbättringar.

## PERSONA
Agera som en senior arkitekt inom konversations-AI med djup erfarenhet av NLP, kundserviceverksamhet, säkerhet/integritet och omnichannel-UX. Kommunicera med produkt- och supportintressenter på ett tydligt språk utan onödigt fackspråk, men ge samtidigt ingenjörsmässigt specifika detaljer när det behövs.

## BEGRÄNSNINGAR
- Följ leveransstandarden i den här prompten och täck alla obligatoriska ämnen.
- Optimera för: skalbarhet, latens, driftsäkerhet och operativ förvaltningsbarhet.
- Botten måste:
  - förstå användarens intention korrekt och behålla kontext över flera turer
  - stödja flera språk när det är relevant för [MALGRUPP]
  - upptäcka användarsentiment och anpassa ton/flöde på lämpligt sätt
  - skydda kunddata (säkerhet + integritet inbyggt från start)
  - svara snabbt och korrekt; undvik alltför tekniska formuleringar i användarvända meddelanden
  - erbjuda en tydlig överlämningsväg för ärenden den inte kan lösa säkert/korrekt
- Hantera oklarheter:
  - Om [BRANSCH], [MALGRUPP] eller [BEFINTLIGT_SUPPORTSYSTEM] saknas/är vagt, ställ först upp till 7 riktade förtydligandefrågor.
  - Om användaren ber dig anta detaljer, ange antaganden uttryckligen och håll dem till ett minimum.
- **Vad detta INTE är (avgränsningar för scope):**
  - Inte ett fullständigt juridiskt/efterlevnadsutlåtande (ge endast vägledning enligt best practice).
  - Inte ett leverantörsavtal, en prisoffert eller ett slutligt upphandlingsbeslut.
  - Inte produktionskod för ett helt system; ge exempel/snuttar endast där det hjälper.
  - Inte en ersättning för design av en mänsklig supportorganisation eller policyskrivning (du får rekommendera dem, inte författa fullständiga manualer).

## PROCESS
1. **Föranalys (obligatorisk):** Återge kortfattat din förståelse av affärsmålet, den ideala mottagaren och miljön utifrån angivna inputs. Lista eventuella antaganden.
2. Ta fram systemblueprinten som täcker arkitektur, NLP-beteende, integrationer, data, UX, säkerhet och drift.
3. Identifiera risker/edge cases (t.ex. adversarial prompts, PII-läckage, språkväxling, arga användare, driftstörningar) och motåtgärder.
4. Ge en lanseringsplan med en tidslinje (faser + grindar), och därefter löpande förbättringsarbete.
5. Avsluta med checklistan för kvalitetsvalidering.

## INPUTS
- **Bransch:** [BRANSCH]
- **Primärt användarsegment:** [MALGRUPP]
- **Nuvarande supportverktyg och kanaler:** [BEFINTLIGT_SUPPORTSYSTEM]
- **Primärt mål (valfritt):** [HUVUDMAL]
- **Språk som krävs (valfritt):** [SPRAK]
- **Kanaler/plattformar (valfritt, t.ex. webbchat, i app, WhatsApp):** [KANALER_PLATTFORMAR]
- **Varumärkeston (valfritt):** [VARUMARKESTON]
- **Integritets-/efterlevnadskrav (valfritt):** [INTEGRITET_EFTERLEVNADSKRAV]
- **Tidsram (valfritt):** [TIDSRAM]

## OUTPUTSPECIFIKATION
Leverera ett markdown-dokument med följande avsnitt, i denna ordning. Använd punktlistor där det passar och kodblock för tekniska specifikationer, scheman eller exempelpayloads.

### 1) Uppgiftsförståelse (föranalys)
Inkludera:
- {Business Objective Summary}
- {Known Constraints}
- {Assumptions}
- {Clarification Questions} (endast vid behov)

### 2) Arkitektur- och teknikblueprint (skalbar + effektiv)
Inkludera:
- {High-Level Architecture} (kanaler → orkestrering → NLU/LLM → verktyg → loggning/analys)
- {Recommended Stack Options} (minst 2 genomförbara angreppssätt, t.ex. managed vs self-hosted)
- {Component Responsibilities}
- {Scalability &amp; Reliability Tactics} (cache, rate limits, köer, retries, fallbacks, multi-region-alternativ)
- {Security Architecture} (authN/authZ, secrets, kryptering, tenant-isolering vid behov)
- Ett kodblock med ett enkelt diagramformat (t.ex. Mermaid) märkt {Architecture Diagram}

### 3) Konversationsintelligens (NLP/LLM-förmågor)
Inkludera:
- {Intent &amp; Entity Strategy} (taxonomiupplägg; när man använder klassificering vs retrieval vs verktyg)
- {Context Management} (sessionsstatus, minnesgränser, summering, trådning av konversationer)
- {Multilingual Approach} (detektion, routing, översättning vs native-modeller, utvärdering per språk)
- {Sentiment Detection &amp; Policy} (vad som ändras vid negativt/akut sentiment)
- {Response Governance} (tonregler, vägransregler, hallucinationskontroller, källhänvisningar vid behov)

### 4) Integrationer med befintlig supportverksamhet
Inkludera:
- {Integration Map} för [BEFINTLIGT_SUPPORTSYSTEM] (ärendehantering/CRM/KB/order-system)
- {APIs &amp; Data Flows}
- {Identity &amp; Account Linking} (SSO, verifiering, säkra uppslag)
- {Human-Agent Handoff Design} (paketering av transkript, kontextöverföring, routingregler)
- Ett kodblock med {Example Integration Payload} (skapa/uppdatera ärende)

### 5) Plan för tränings-/kunskapsdata
Inkludera:
- {Data Requirements} (konversationsloggar, KB-artiklar, macros, policies, produktdokumentation)
- {Data Sources} (intern + säker extern) och urvalskriterier
- {Data Cleaning &amp; Labeling} (PII-maskning, deduplicering, kvalitetspoängsättning, annoteringsriktlinjer)
- {Retrieval Strategy} (chunking, embeddings, metadata, aktualitet)
- {Evaluation Dataset Design} (golden set, flerspråkig täckning, edge-case-set)

### 6) UX- och UI-design för chatt
Inkludera:
- {UX Principles} (tydlighet, bekräftelser, progressiv informationsvisning, tillgänglighet)
- {Device/Channel Considerations} för [KANALER_PLATTFORMAR]
- {Conversation Patterns} (menyer vs fritext, formulär, quick replies, bilagor)
- {Trust Cues} (vad botten kan/inte kan göra, integritetsbudskap)
- {Failure States} (timeouts, retries, “jag vet inte”-mönster)

### 7) Eskalering och undantagshantering
Inkludera:
- {Escalation Triggers} (låg konfidens, högriskintentioner, användarfrustration, policybegränsningar)
- {Routing Logic} (tiering, språkbaserad routing, prioriteringsregler)
- {Safety Controls} (känsliga ämnen, kontoåtgärder, betalning/PII-hantering)
- {Playbooks} för minst 5 komplexa scenarier relevanta för [BRANSCH]

### 8) Mätetal, framgångskriterier och övervakning
Inkludera:
- {Core KPIs} (containment/deflection, CSAT, FCR, påverkan på AHT, latens, kostnad per lösning)
- {Quality Metrics} (intent-träffsäkerhet, retrieval-precision, groundedness, policyefterlevnad)
- {Dashboards &amp; Alerts}
- {Experimentation Plan} (A/B-tester, shadow mode, canary releases)

### 9) Test- och QA-plan (fokus på driftsäkerhet)
Inkludera:
- {Test Layers} (unit, integration, konversationssimuleringar, red-teaming, lasttester)
- {Test Coverage Map} (intents, språk, kanaler, regressioner)
- {Acceptance Criteria}
- {Release Gates} (vad som måste vara sant innan nästa fas)

### 10) Driftsättningsroadmap och tidslinje
Inkludera en fasindelad plan (t.ex. discovery → prototype → pilot → rollout → optimization) med:
- {Phase Goals}
- {Deliverables}
- {Dependencies}
- {Risks &amp; Mitigations}
- Tidslinje justerad efter [TIDSRAM] (eller föreslå ett realistiskt standardintervall om den saknas)

### 11) Löpande underhåll och förbättring
Inkludera:
- {Content/KB Refresh Process}
- {Model/Prompt Update Strategy} (versionshantering, rollback)
- {Feedback Loops} (agent-tagging, användarfeedback, hantering av tvister)
- {Governance} (åtkomstkontroller, audit logs, periodiska granskningar)
- {Cost Management} (token-/bandbreddskontroller, cache, routing)

## KVALITETSKONTROLLER
Avsluta din output med en checklista som bekräftar:
- Alla 11 avsnitt finns med och är fullständiga
- Säkerhet/integritet och dataminimering adresserades med konkreta kontroller
- Flerspråkighet + sentiment + kontinuitet i kontext är uttryckligen designade och testbara
- En tydlig handoff till människa finns med triggers och payload-/kontextöverföring
- Mätetal och QA innehåller mätbara acceptanströsklar och löpande övervakning            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nUtforma en praktisk, helt\u00e4ckande plan fr\u00e5n start till lansering f\u00f6r att bygga och lansera en konversationsbaserad AI som l\u00f6ser kundfr\u00e5gor och support\u00e4renden f\u00f6r [BRANSCH], i linje med behoven hos [MALGRUPP] och kompatibel med [BEFINTLIGT_SUPPORTSYSTEM]. Planen m\u00e5ste vara genomf\u00f6rbar och f\u00f6rutse verkliga begr\u00e4nsningar, risker och f\u00f6rb\u00e4ttringar.\r\n\r\n## PERSONA\r\nAgera som en senior arkitekt inom konversations-AI med djup erfarenhet av NLP, kundserviceverksamhet, s\u00e4kerhet\/integritet och omnichannel-UX. Kommunicera med produkt- och supportintressenter p\u00e5 ett tydligt spr\u00e5k utan on\u00f6digt fackspr\u00e5k, men ge samtidigt ingenj\u00f6rsm\u00e4ssigt specifika detaljer n\u00e4r det beh\u00f6vs.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- F\u00f6lj leveransstandarden i den h\u00e4r prompten och t\u00e4ck alla obligatoriska \u00e4mnen.\r\n- Optimera f\u00f6r: skalbarhet, latens, drifts\u00e4kerhet och operativ f\u00f6rvaltningsbarhet.\r\n- Botten m\u00e5ste:\r\n  - f\u00f6rst\u00e5 anv\u00e4ndarens intention korrekt och beh\u00e5lla kontext \u00f6ver flera turer\r\n  - st\u00f6dja flera spr\u00e5k n\u00e4r det \u00e4r relevant f\u00f6r [MALGRUPP]\r\n  - uppt\u00e4cka anv\u00e4ndarsentiment och anpassa ton\/fl\u00f6de p\u00e5 l\u00e4mpligt s\u00e4tt\r\n  - skydda kunddata (s\u00e4kerhet + integritet inbyggt fr\u00e5n start)\r\n  - svara snabbt och korrekt; undvik alltf\u00f6r tekniska formuleringar i anv\u00e4ndarv\u00e4nda meddelanden\r\n  - erbjuda en tydlig \u00f6verl\u00e4mningsv\u00e4g f\u00f6r \u00e4renden den inte kan l\u00f6sa s\u00e4kert\/korrekt\r\n- Hantera oklarheter:\r\n  - Om [BRANSCH], [MALGRUPP] eller [BEFINTLIGT_SUPPORTSYSTEM] saknas\/\u00e4r vagt, st\u00e4ll f\u00f6rst upp till 7 riktade f\u00f6rtydligandefr\u00e5gor.\r\n  - Om anv\u00e4ndaren ber dig anta detaljer, ange antaganden uttryckligen och h\u00e5ll dem till ett minimum.\r\n- **Vad detta INTE \u00e4r (avgr\u00e4nsningar f\u00f6r scope):**\r\n  - Inte ett fullst\u00e4ndigt juridiskt\/efterlevnadsutl\u00e5tande (ge endast v\u00e4gledning enligt best practice).\r\n  - Inte ett leverant\u00f6rsavtal, en prisoffert eller ett slutligt upphandlingsbeslut.\r\n  - Inte produktionskod f\u00f6r ett helt system; ge exempel\/snuttar endast d\u00e4r det hj\u00e4lper.\r\n  - Inte en ers\u00e4ttning f\u00f6r design av en m\u00e4nsklig supportorganisation eller policyskrivning (du f\u00e5r rekommendera dem, inte f\u00f6rfatta fullst\u00e4ndiga manualer).\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** \u00c5terge kortfattat din f\u00f6rst\u00e5else av aff\u00e4rsm\u00e5let, den ideala mottagaren och milj\u00f6n utifr\u00e5n angivna inputs. Lista eventuella antaganden.\r\n2. Ta fram systemblueprinten som t\u00e4cker arkitektur, NLP-beteende, integrationer, data, UX, s\u00e4kerhet och drift.\r\n3. Identifiera risker\/edge cases (t.ex. adversarial prompts, PII-l\u00e4ckage, spr\u00e5kv\u00e4xling, arga anv\u00e4ndare, driftst\u00f6rningar) och mot\u00e5tg\u00e4rder.\r\n4. Ge en lanseringsplan med en tidslinje (faser + grindar), och d\u00e4refter l\u00f6pande f\u00f6rb\u00e4ttringsarbete.\r\n5. Avsluta med checklistan f\u00f6r kvalitetsvalidering.\r\n\r\n## INPUTS\r\n- **Bransch:** [BRANSCH]\r\n- **Prim\u00e4rt anv\u00e4ndarsegment:** [MALGRUPP]\r\n- **Nuvarande supportverktyg och kanaler:** [BEFINTLIGT_SUPPORTSYSTEM]\r\n- **Prim\u00e4rt m\u00e5l (valfritt):** [HUVUDMAL]\r\n- **Spr\u00e5k som kr\u00e4vs (valfritt):** [SPRAK]\r\n- **Kanaler\/plattformar (valfritt, t.ex. webbchat, i app, WhatsApp):** [KANALER_PLATTFORMAR]\r\n- **Varum\u00e4rkeston (valfritt):** [VARUMARKESTON]\r\n- **Integritets-\/efterlevnadskrav (valfritt):** [INTEGRITET_EFTERLEVNADSKRAV]\r\n- **Tidsram (valfritt):** [TIDSRAM]\r\n\r\n## OUTPUTSPECIFIKATION\r\nLeverera ett markdown-dokument med f\u00f6ljande avsnitt, i denna ordning. Anv\u00e4nd punktlistor d\u00e4r det passar och kodblock f\u00f6r tekniska specifikationer, scheman eller exempelpayloads.\r\n\r\n### 1) Uppgiftsf\u00f6rst\u00e5else (f\u00f6ranalys)\r\nInkludera:\r\n- {Business Objective Summary}\r\n- {Known Constraints}\r\n- {Assumptions}\r\n- {Clarification Questions} (endast vid behov)\r\n\r\n### 2) Arkitektur- och teknikblueprint (skalbar + effektiv)\r\nInkludera:\r\n- {High-Level Architecture} (kanaler \u2192 orkestrering \u2192 NLU\/LLM \u2192 verktyg \u2192 loggning\/analys)\r\n- {Recommended Stack Options} (minst 2 genomf\u00f6rbara angreppss\u00e4tt, t.ex. managed vs self-hosted)\r\n- {Component Responsibilities}\r\n- {Scalability & Reliability Tactics} (cache, rate limits, k\u00f6er, retries, fallbacks, multi-region-alternativ)\r\n- {Security Architecture} (authN\/authZ, secrets, kryptering, tenant-isolering vid behov)\r\n- Ett kodblock med ett enkelt diagramformat (t.ex. Mermaid) m\u00e4rkt {Architecture Diagram}\r\n\r\n### 3) Konversationsintelligens (NLP\/LLM-f\u00f6rm\u00e5gor)\r\nInkludera:\r\n- {Intent & Entity Strategy} (taxonomiuppl\u00e4gg; n\u00e4r man anv\u00e4nder klassificering vs retrieval vs verktyg)\r\n- {Context Management} (sessionsstatus, minnesgr\u00e4nser, summering, tr\u00e5dning av konversationer)\r\n- {Multilingual Approach} (detektion, routing, \u00f6vers\u00e4ttning vs native-modeller, utv\u00e4rdering per spr\u00e5k)\r\n- {Sentiment Detection & Policy} (vad som \u00e4ndras vid negativt\/akut sentiment)\r\n- {Response Governance} (tonregler, v\u00e4gransregler, hallucinationskontroller, k\u00e4llh\u00e4nvisningar vid behov)\r\n\r\n### 4) Integrationer med befintlig supportverksamhet\r\nInkludera:\r\n- {Integration Map} f\u00f6r [BEFINTLIGT_SUPPORTSYSTEM] (\u00e4rendehantering\/CRM\/KB\/order-system)\r\n- {APIs & Data Flows}\r\n- {Identity & Account Linking} (SSO, verifiering, s\u00e4kra uppslag)\r\n- {Human-Agent Handoff Design} (paketering av transkript, kontext\u00f6verf\u00f6ring, routingregler)\r\n- Ett kodblock med {Example Integration Payload} (skapa\/uppdatera \u00e4rende)\r\n\r\n### 5) Plan f\u00f6r tr\u00e4nings-\/kunskapsdata\r\nInkludera:\r\n- {Data Requirements} (konversationsloggar, KB-artiklar, macros, policies, produktdokumentation)\r\n- {Data Sources} (intern + s\u00e4ker extern) och urvalskriterier\r\n- {Data Cleaning & Labeling} (PII-maskning, deduplicering, kvalitetspo\u00e4ngs\u00e4ttning, annoteringsriktlinjer)\r\n- {Retrieval Strategy} (chunking, embeddings, metadata, aktualitet)\r\n- {Evaluation Dataset Design} (golden set, flerspr\u00e5kig t\u00e4ckning, edge-case-set)\r\n\r\n### 6) UX- och UI-design f\u00f6r chatt\r\nInkludera:\r\n- {UX Principles} (tydlighet, bekr\u00e4ftelser, progressiv informationsvisning, tillg\u00e4nglighet)\r\n- {Device\/Channel Considerations} f\u00f6r [KANALER_PLATTFORMAR]\r\n- {Conversation Patterns} (menyer vs fritext, formul\u00e4r, quick replies, bilagor)\r\n- {Trust Cues} (vad botten kan\/inte kan g\u00f6ra, integritetsbudskap)\r\n- {Failure States} (timeouts, retries, \u201cjag vet inte\u201d-m\u00f6nster)\r\n\r\n### 7) Eskalering och undantagshantering\r\nInkludera:\r\n- {Escalation Triggers} (l\u00e5g konfidens, h\u00f6griskintentioner, anv\u00e4ndarfrustration, policybegr\u00e4nsningar)\r\n- {Routing Logic} (tiering, spr\u00e5kbaserad routing, prioriteringsregler)\r\n- {Safety Controls} (k\u00e4nsliga \u00e4mnen, konto\u00e5tg\u00e4rder, betalning\/PII-hantering)\r\n- {Playbooks} f\u00f6r minst 5 komplexa scenarier relevanta f\u00f6r [BRANSCH]\r\n\r\n### 8) M\u00e4tetal, framg\u00e5ngskriterier och \u00f6vervakning\r\nInkludera:\r\n- {Core KPIs} (containment\/deflection, CSAT, FCR, p\u00e5verkan p\u00e5 AHT, latens, kostnad per l\u00f6sning)\r\n- {Quality Metrics} (intent-tr\u00e4ffs\u00e4kerhet, retrieval-precision, groundedness, policyefterlevnad)\r\n- {Dashboards & Alerts}\r\n- {Experimentation Plan} (A\/B-tester, shadow mode, canary releases)\r\n\r\n### 9) Test- och QA-plan (fokus p\u00e5 drifts\u00e4kerhet)\r\nInkludera:\r\n- {Test Layers} (unit, integration, konversationssimuleringar, red-teaming, lasttester)\r\n- {Test Coverage Map} (intents, spr\u00e5k, kanaler, regressioner)\r\n- {Acceptance Criteria}\r\n- {Release Gates} (vad som m\u00e5ste vara sant innan n\u00e4sta fas)\r\n\r\n### 10) Drifts\u00e4ttningsroadmap och tidslinje\r\nInkludera en fasindelad plan (t.ex. discovery \u2192 prototype \u2192 pilot \u2192 rollout \u2192 optimization) med:\r\n- {Phase Goals}\r\n- {Deliverables}\r\n- {Dependencies}\r\n- {Risks & Mitigations}\r\n- Tidslinje justerad efter [TIDSRAM] (eller f\u00f6resl\u00e5 ett realistiskt standardintervall om den saknas)\r\n\r\n### 11) L\u00f6pande underh\u00e5ll och f\u00f6rb\u00e4ttring\r\nInkludera:\r\n- {Content\/KB Refresh Process}\r\n- {Model\/Prompt Update Strategy} (versionshantering, rollback)\r\n- {Feedback Loops} (agent-tagging, anv\u00e4ndarfeedback, hantering av tvister)\r\n- {Governance} (\u00e5tkomstkontroller, audit logs, periodiska granskningar)\r\n- {Cost Management} (token-\/bandbreddskontroller, cache, routing)\r\n\r\n## KVALITETSKONTROLLER\r\nAvsluta din output med en checklista som bekr\u00e4ftar:\r\n- Alla 11 avsnitt finns med och \u00e4r fullst\u00e4ndiga\r\n- S\u00e4kerhet\/integritet och dataminimering adresserades med konkreta kontroller\r\n- Flerspr\u00e5kighet + sentiment + kontinuitet i kontext \u00e4r uttryckligen designade och testbara\r\n- En tydlig handoff till m\u00e4nniska finns med triggers och payload-\/kontext\u00f6verf\u00f6ring\r\n- M\u00e4tetal och QA inneh\u00e5ller m\u00e4tbara acceptanstr\u00f6sklar och l\u00f6pande \u00f6vervakning";
    const variables = ["[BRANSCH]","[MALGRUPP]","[BEFINTLIGT_SUPPORTSYSTEM]","[HUVUDMAL]","[SPRAK]","[KANALER_PLATTFORMAR]","[VARUMARKESTON]","[INTEGRITET_EFTERLEVNADSKRAV]","[TIDSRAM]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat från AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Var obekvämt specifik om ert ”befintliga supportsysten”.</strong> Skriv inte ”Zendesk”. Skriv det som spelar roll operativt: kanaler (e-post, chatt, WhatsApp), routningsregler, var kunskapsbasen ligger och var kundidentitet hanteras. Om du vill ha ett strukturerat output, lägg till en rad som: ”Vi använder Zendesk + Guide, med triggers för faktura vs teknik, och SSO via Okta.”</li>


<li><strong>Definiera målgruppen efter intent, inte demografi.</strong> ”Småföretagare” är brett; ”Shopify-handlare med 20–100 beställningar/dag som frågar om återbetalningar, leveransfönster och kontoåtkomst” ger prompten något att konstruera kring. Följdfråga du kan klistra in efter första körningen: ”Skriv om flödena utifrån att 40 % av användarna är förstagångsköpare och 15 % är arga över förseningar.”</li>


<li><strong>Ge modellen era topp 20 ärendetaggar och 10 makrotitlar.</strong> Ärligt talat är det här snabbaste sättet att undvika generiska intent-listor. När du har klistrat in dem, fråga: ”Gruppera dessa i en intent-uppsättning för första release och en backlogg för andra release, och förklara risken med varje.”</li>


<li><strong>Iterera på risk och eskaleringstriggers innan du itererar på formuleringar.</strong> När blueprinten kommer, pressa den: ”Gör nu överlämningsreglerna striktare för kontoåtkomst och betalningar, och lägg till en genväg till människa vid ’högt sentiment’.” Gör sedan motsatsen: ”Lätta på överlämning för lågriskfrågor om orderstatus och optimera för hastighet.”</li>


<li><strong>Tvinga in operativ verklighet i planen.</strong> Lägg till begränsningar som bemanningstider, mål för första svarstid och vad agenter får göra. En användbar följdfråga: ”Anta att vi har 6 agenter, inget ingenjörsstöd på 2 veckor och ett krav på 99,9 % uptime. Uppdatera utrullningsplanen, övervakningen och felmoder.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompts</h2>



<p>När du har skissat din support automation blueprint kan de här promptarna hjälpa dig att vässa discovery, struktur och mätning i angränsande planeringsarbete:</p>



<p>Om din assistent behöver svara på ”hitta mig…”-frågor via röstgränssnitt, kombinera denna blueprint med <a href="https://nodenordic.se/prompts/skapa-en-seo-plan-for-rostsok-med-denna-ai-prompt">Bygg en voice search SEO-plan med den här AI-prompten</a>. När supportkonversationer överlappar med produktupptäckt (öppettider, kompatibilitet, ”vilket abonnemang ska jag köpa?”) hjälper en voice search-plan dig att avgöra vilket innehåll och vilka formuleringar boten måste förstå.</p>



<p>För team som jobbar med omnikanalsupport som inkluderar smarta högtalare, bilassistenter eller mobila röstfrågor är <a href="https://nodenordic.se/prompts/spelbok-for-optimering-av-rostsok">Voice search optimization playbook AI-prompt</a> ett bra komplement. Den är användbar när du vill ha konsekventa språk- och begreppsmönster mellan webbinnehåll och automatiserad support, så att assistentens svar matchar det kunder redan hör i andra sammanhang.</p>



<p>När du saknar de exakta frågorna folk ställer (formuleringen, inte bara ämnet) kan du använda <a href="https://nodenordic.se/prompts/ai-prompt-for-rostsokord-och-snabba-vinster">AI-prompt för att hitta voice search-sökord och snabba vinster</a>. Den kan mata din intent-lista med verkliga frågevarianter, vilket förbättrar routning, disambiguering och kunskapstäckning i första releasen.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skapa-en-seo-plan-for-rostsok-med-denna-ai-prompt">Bygg en voice search SEO-plan med den här AI-prompten</a>: Planera röstvänligt innehåll och struktur.</li>


<li><a href="https://nodenordic.se/prompts/spelbok-for-optimering-av-rostsok">Voice search optimization playbook AI-prompt</a>: Förbättra röstupplevelse och konsekvens i svar.</li>


<li><a href="https://nodenordic.se/prompts/ai-prompt-for-rostsokord-och-snabba-vinster">AI-prompt för att hitta voice search-sökord och snabba vinster</a>: Extrahera verkliga frågemönster snabbt.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-lokal-voice-seo-plan-med-ai-prompt">Bygg en lokal voice SEO-plan med den här AI-prompten</a>: Fånga platsbaserade ”nära mig”-frågor.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-seo-granskningschecklista-for-e-handel">Bygg en SEO-auditchecklista för e-handel med en AI-prompt</a>: Granska innehållsgap som skapar ärenden.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för support automation blueprint?</span>

<p class="answer"><strong>Support operations managers</strong> använder den här för att översätta ”vi behöver en bot” till routningsregler, eskaleringstriggers och mätbara KPI:er som inte överbelastar agenter. <strong>Chefer för kundsupport</strong> använder den för att minska återkommande ärenden och samtidigt hålla containment ärligt (inga problem ska döljas bakom deflection). <strong>Produktchefer för CX</strong> får en strukturerad plan som kopplar användarintents till systembegränsningar som latens, tillförlitlighet och krav på överlämning. <strong>Konversationsdesigners</strong> vinner på att prompten uttryckligen täcker ton, sentimenthantering och flerturnskontext i stället för att bara spotta ur sig standardmanus.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för support automation blueprint?</span>

<p class="answer"><strong>E-handel och DTC</strong>-team använder den för att automatisera högvolymsfrågor som orderstatus, returer, skadade varor och adressändringar, samtidigt som de behåller säker överlämning vid bedrägeri eller betalningstvister. <strong>SaaS-bolag</strong> använder den för att triagera åtkomstproblem, fakturafrågor och produktvägledning av typen ”hur gör jag”, särskilt när assistenten måste bevara kontext över flera turer. <strong>Finansiella tjänster</strong> kan använda den för strikt avgränsad informationssupport (som leveransuppdateringar för kort eller lösenordsåterställningar) eftersom prompten betonar integritet-by-design och tydliga scope-gränser. <strong>Sjukvård och kliniker</strong> använder den ofta för bokning, vägbeskrivningar och FAQ inför besök, med strikta eskaleringsregler för allt som kan likna medicinsk rådgivning.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompts för att bygga en support automation blueprint svaga resultat?</span>

<p class="answer">En typisk prompt som ”Skriv en chatbotplan för mitt supportteam” misslyckas eftersom den: saknar nödvändiga inputs som bransch, målgrupp och ert befintliga supportsysten, så resultatet går inte att koppla till verkliga arbetsflöden; inte ger constraints på ingenjörsnivå för skalbarhet, latens, tillförlitlighet och underhållbarhet; ignorerar integritets- och säkerhetsgränser, vilket är farligt i supportkontexter; producerar generiska ”funktioner” i stället för konkreta artefakter som intents, överlämningstriggers och övervaknings-KPI:er; och hoppar över hantering av otydlighet, så den ställer aldrig klargörande frågor när dina detaljer saknas.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här support automation blueprint-prompten för min specifika situation?</span>

<p class="answer">Ja. Prompten är designad för att anpassa sig efter de detaljer du anger om bransch, målgrupp och befintligt supportsysten, och den ställer riktade klargörande frågor om de inputs du ger är otydliga. Du får bäst plan om du också lägger till era kanaler (chatt, e-post, sociala medier), era främsta ärendekategorier och eventuella ämnen som ”aldrig automatiseras”, som återbetalningar över en tröskel eller ändringar av kontoåtkomst. Efter första output, fråga: ”Revidera blueprinten för en fasad utrullning: Fas 1 deflectar orderstatus och FAQ:er, fas 2 lägger till kontoändringar och fas 3 lägger till proaktiv messaging. Inkludera KPI-mål och risker per fas.”</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här support automation blueprint-prompten?</span>

<p class="answer">Det största misstaget är att lämna branschen för vag — i stället för ”retail”, prova ”DTC-hudvård med prenumerationer och reglerade ingredienspåståenden”. Ett annat vanligt fel är en luddig målgrupp; ”kunder” är svagt, medan ”återkommande prenumeranter, förstagångsköpare och grossistkonton med olika policys” ger blueprinten riktiga beslutspunkter. Många specificerar också befintligt supportsysten för lite; ”vi använder en helpdesk” är tunt, men ”Zendesk + Guide, med 45 makron, 30 taggar och överlämning till människa via livechatt” leder till implementerbara arbetsflöden. Till sist glömmer team att ange riskgränser, vilket gör att planen kan överautomatisera känsliga områden; skriv ut ”inga betalningstvister, inga juridiska hot, lämna alltid över signaler om kontokapning.”</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här support automation blueprint-prompten?</span>

<p class="answer">Den här prompten passar inte för engångsexperiment där du bara vill ha ett enda chatbotmanus och inte kommer att implementera övervakning, eskalering eller iteration. Den passar inte heller team som ännu inte har validerat sina supportpolicys (till exempel otydliga återbetalningsregler), eftersom blueprinten förutsätter att ni kan operationalisera konsekventa svar. Om du bara behöver lättviktig copy för en help center-sida, börja i stället med ett innehållsfokuserat workflow och kom tillbaka när du är redo att designa hela den operativa modellen.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för support automation blueprint?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Support operations managers använder den här för att översätta ”vi behöver en bot” till routningsregler, eskaleringstriggers och mätbara KPI:er som inte överbelastar agenter. Chefer för kundsupport använder den för att minska återkommande ärenden och samtidigt hålla containment ärligt (inga problem ska döljas bakom deflection). Produktchefer för CX får en strukturerad plan som kopplar användarintents till systembegränsningar som latens, tillförlitlighet och krav på överlämning. Konversationsdesigners vinner på att prompten uttryckligen täcker ton, sentimenthantering och flerturnskontext i stället för att bara spotta ur sig standardmanus."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för support automation blueprint?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-handel och DTC-team använder den för att automatisera högvolymsfrågor som orderstatus, returer, skadade varor och adressändringar, samtidigt som de behåller säker överlämning vid bedrägeri eller betalningstvister. SaaS-bolag använder den för att triagera åtkomstproblem, fakturafrågor och produktvägledning av typen ”hur gör jag”, särskilt när assistenten måste bevara kontext över flera turer. Finansiella tjänster kan använda den för strikt avgränsad informationssupport (som leveransuppdateringar för kort eller lösenordsåterställningar) eftersom prompten betonar integritet-by-design och tydliga scope-gränser. Sjukvård och kliniker använder den ofta för bokning, vägbeskrivningar och FAQ inför besök, med strikta eskaleringsregler för allt som kan likna medicinsk rådgivning."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompts för att bygga en support automation blueprint svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv en chatbotplan för mitt supportteam” misslyckas eftersom den: saknar nödvändiga inputs som bransch, målgrupp och ert befintliga supportsysten, så resultatet går inte att koppla till verkliga arbetsflöden; inte ger constraints på ingenjörsnivå för skalbarhet, latens, tillförlitlighet och underhållbarhet; ignorerar integritets- och säkerhetsgränser, vilket är farligt i supportkontexter; producerar generiska ”funktioner” i stället för konkreta artefakter som intents, överlämningstriggers och övervaknings-KPI:er; och hoppar över hantering av otydlighet, så den ställer aldrig klargörande frågor när dina detaljer saknas."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här support automation blueprint-prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Prompten är designad för att anpassa sig efter de detaljer du anger om bransch, målgrupp och befintligt supportsysten, och den ställer riktade klargörande frågor om de inputs du ger är otydliga. Du får bäst plan om du också lägger till era kanaler (chatt, e-post, sociala medier), era främsta ärendekategorier och eventuella ämnen som ”aldrig automatiseras”, som återbetalningar över en tröskel eller ändringar av kontoåtkomst. Efter första output, fråga: ”Revidera blueprinten för en fasad utrullning: Fas 1 deflectar orderstatus och FAQ:er, fas 2 lägger till kontoändringar och fas 3 lägger till proaktiv messaging. Inkludera KPI-mål och risker per fas.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här support automation blueprint-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna branschen för vag — i stället för ”retail”, prova ”DTC-hudvård med prenumerationer och reglerade ingredienspåståenden”. Ett annat vanligt fel är en luddig målgrupp; ”kunder” är svagt, medan ”återkommande prenumeranter, förstagångsköpare och grossistkonton med olika policys” ger blueprinten riktiga beslutspunkter. Många specificerar också befintligt supportsysten för lite; ”vi använder en helpdesk” är tunt, men ”Zendesk + Guide, med 45 makron, 30 taggar och överlämning till människa via livechatt” leder till implementerbara arbetsflöden. Till sist glömmer team att ange riskgränser, vilket gör att planen kan överautomatisera känsliga områden; skriv ut ”inga betalningstvister, inga juridiska hot, lämna alltid över signaler om kontokapning.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här support automation blueprint-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten passar inte för engångsexperiment där du bara vill ha ett enda chatbotmanus och inte kommer att implementera övervakning, eskalering eller iteration. Den passar inte heller team som ännu inte har validerat sina supportpolicys (till exempel otydliga återbetalningsregler), eftersom blueprinten förutsätter att ni kan operationalisera konsekventa svar. Om du bara behöver lättviktig copy för en help center-sida, börja i stället med ett innehållsfokuserat workflow och kom tillbaka när du är redo att designa hela den operativa modellen."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Supportautomation fungerar när den designas som ett system, inte som ett stunt. Klistra in den här prompten i din modell, besvara de klargörande frågorna och få en blueprint som ditt team kan implementera redan det här kvartalet.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-en-plan-for-automatiserad-support-med-ai-prompten/">Bygg en plan för automatiserad support med AI-prompten</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hantera säljinvändningar med denna ai-prompt</title>
		<link>https://nodenordic.se/prompts/hantera-saljinvandningar-med-denna-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hantera-saljinvandningar-med-denna-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:48:21 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002346</guid>

					<description><![CDATA[<p>Invändningar stoppar affärer – en ai-prompt som ger lugna, avslutsredo svar per kategori, med frågor som driver nästa steg.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/hantera-saljinvandningar-med-denna-ai-prompt/">Hantera säljinvändningar med denna ai-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: sales objections prompt -->

<div class="hook-introduction">

<p>Invändningar dödar inte affärer. Klumpiga svar gör det. När en köpare säger ”för dyrt” eller ”vi jämför alternativ” är det lätt att låta defensiv, svamla eller låsa sig och tappa momentum.</p>



<p>Den här <strong>sales objections prompt</strong> är byggd för <strong>Account Executives</strong> som behöver lugna talk tracks mitt i ett livesamtal, <strong>Sales Enablement-chefer</strong> som vill ha konsekvent invändningshantering i hela teamet och <strong>grundare</strong> som säljer sitt första erbjudande och behöver professionella svar utan att låta manusstyrda. Utdata är ett kategoriserat minibibliotek med invändningssvar (tre alternativ per kategori), där varje svar innehåller bekräftelse, en omramning av värdet och en nästa-steg-fråga som tar affären framåt.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den genererar en uppsättning invändningssvar som följer strukturen bekräfta → omrama → ta vidare.</li>
          <li>Den skriver tre tydligt olika svarsalternativ per invändningskategori, med märkbart olika vinklar (ROI, jämförelse, bevis, förenkling, anpassning).</li>
          <li>Den inkluderar en framåtdrivande fråga och ett konkret nästa steg i varje svar, så att du inte avslutar med ett ”hoppas det hjälper”.</li>
          <li>Den lägger till hantering av edge cases när en invändning är vag genom att skapa svar utifrån vanliga tolkningar plus två förtydligande frågor.</li>
          <li>Den håller språket diplomatiskt och ”i stunden” och undviker argumentativ ton, hårda avslut och överdrivet manuslika fraser.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du hör samma invändningar om och om igen och vill ha konsekventa, repeterbara formuleringar som fortfarande låter mänskliga.</li>
          <li>En säljare hanterar invändningar med långa förklaringar och samtalen kör fast efter att köparen säger emot.</li>
          <li>Du uppdaterar enablement-material och behöver talk tracks för ny prissättning, paketering eller en ny ICP.</li>
          <li>Prospects ”shoppar runt” och du behöver svar som håller uppe värdet utan att prata ner konkurrenter.</li>
          <li>Du skalar outbound eller hanterar inbound och behöver snabba, kategoribaserade svar för mejl och chatt såväl som samtal.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>Tre polerade svarsalternativ per invändningskategori (till exempel 8 kategorier = 24 färdiga svar att använda direkt).</li>
           <li>Varje svar innehåller en bekräftelserad, en värdebaserad motpoäng och en nästa-steg-fråga.</li>
           <li>Två förtydligande frågor läggs till för vaga invändningar så att säljare snabbt kan diagnosticera det verkliga problemet.</li>
           <li>En kort sammanfattning i 2–4 punkter som ”föranalys” som återger vad som säljs, vem det är för och vilka invändningar som täcks.</li>
           <li>Markeringar av antaganden när detaljer saknas, så att du kan korrigera AI:n i stället för att lita på dolda gissningar.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: generator för bibliotek med invändningssvar</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[SPECIFIK_INVANDNING]</code></td>
                                <td class="var-desc">
                                    Ange den specifika invändning eller oro som köparen har uttryckt och som behöver bemötas. Det kan handla om pris, timing, produktfunktioner eller annan tvekan.                                    <div class="var-example">Till exempel: "Priset verkar för högt jämfört med konkurrenterna."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SPECIFIK_INVANDNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en kort beskrivning av produkten eller tjänsten som säljs, inklusive viktigaste funktioner, fördelar och syfte.                                    <div class="var-example">Till exempel: "Ett molnbaserat CRM-verktyg som är utvecklat för att effektivisera säljprocesser och förbättra kundrelationshanteringen för små till medelstora företag."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv den ideala mottagaren av produkten eller tjänsten, inklusive relevant demografi, roller, behov och utmaningar.                                    <div class="var-example">Till exempel: "Försäljningschefer på tech-startups som söker verktyg för att optimera teamets effektivitet och följa upp nyckeltal för prestation."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INVANDNINGSKATEGORIER]</code></td>
                                <td class="var-desc">
                                    Lista vilka kategorier av invändningar som behöver bemötas, till exempel pris, timing eller produktens passform.                                    <div class="var-example">Till exempel: "Prisrelaterade frågor, utmaningar vid införande och jämförelser med konkurrenter."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[INVANDNINGSKATEGORIER]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange vilken bransch eller sektor som är relevant för produkten eller tjänsten, så att svaren kan anpassas på ett träffsäkert sätt.                                    <div class="var-example">Till exempel: "Software-as-a-Service (SaaS) för vårdgivare."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Beskriv önskad kommunikationsstil i svaren, till exempel professionell, vänlig eller auktoritativ.                                    <div class="var-example">Till exempel: "Självsäker och samtalsnära, med fokus på att bygga förtroende och trovärdighet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Definiera det huvudsakliga målet med dialogen, till exempel att boka ett möte, reda ut invändningar eller avsluta affären.                                    <div class="var-example">Till exempel: "Boka en uppföljande demo för att besvara specifika produktfrågor."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">SPECIFIKATION FÖR OUTPUT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">{Objection Category}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa ett färdigt bibliotek av välpolerade invändningshanteringsrepliker som hjälper en säljare att svara smidigt, förstärka värdet och föra köparen mot nästa steg.

## PERSONA
Du är en copywriter inom sales enablement som skriver konversationsnära “i stunden”-talk tracks för säljare. Din stil är lugn, taktfull, trygg och praktisk—optimerad för verkliga samtal, mejl eller chatt.

## BEGRÄNSNINGAR
- Använd **leveransstandard**: bekräfta → omformulera med värde → för samtalet framåt.
- Generera **3 tydligt olika svar** för varje invändningskategori som anges.
- Håll språket professionellt och diplomatiskt; undvik att låta argumenterande eller manusbundet.
- Använd **inte** XML eller XML-liknande taggar.
- Om detaljer saknas, gör minimala, rimliga antaganden och märk dem tydligt.

## PROCESS
1. **Föranalys (obligatorisk):** I 2–4 punkter, återge din förståelse av scenariot utifrån indata (vad som säljs, till vem och vilka invändningar du ska täcka).
2. För varje invändningskategori, skriv tre svarsalternativ som var och en innehåller:
   - kort bekräftelse av invändningen
   - en värdebaserad motpoäng (nytta, resultat eller riskminimering)
   - en framåtdrivande fråga plus ett tydligt nästa steg
3. Variera formulering och strategi mellan de tre alternativen (t.ex. ROI-inramning, jämförelseinramning, förenkling, bevis/trovärdighet eller “låt oss skräddarsy det”-ansats).
4. **Hantering av edge cases:**  
   - Om [SPECIFIK_INVANDNING] är vag, generera svar för den vanligaste tolkningen och lägg till 2 förtydligande frågor som säljaren kan ställa.  
   - Om [PRODUKTBESKRIVNING] eller [MALGRUPP] saknas, håll svaren generiska och undvik att hitta på nischspecifika påståenden.
5. **Det här är INTE (avgränsningar):**
   - Inte ett komplett säljscript, pitch deck eller en förhandlingspolicy.
   - Inte juridisk rådgivning om avtal/villkor.
   - Inte en garanti för utfall; undvik absoluta löften.

## INDATA
- **Invändningskategorier att täcka:** [INVANDNINGSKATEGORIER]
- **Specifik invändning att bemöta (gäller över kategorier eller per kategori—användarens val):** [SPECIFIK_INVANDNING]
- **Erbjudandet som säljs (valfritt men rekommenderas):** [PRODUKTBESKRIVNING]
- **Ideal mottagare (valfritt):** [MALGRUPP]
- **Bransch/kontext (valfritt):** [BRANSCH]
- **Önskad kommunikationsstil (valfritt):** [VARUMARKESTON]
- **Primärt mål med samtalet (valfritt):** [HUVUDMAL]

## SPECIFIKATION FÖR OUTPUT
Använd exakt denna leveransstruktur för varje kategori:

### {Objection Category}
- **{Specific Objection}**

1) **{Response 1}**  
   - Validation: {Acknowledge}  
   - Value Reframe: {Value Counter}  
   - Advance: {Forward Question}  
   - Next Step: {Call To Action}

2) **{Response 2}**  
   - Validation: {Acknowledge}  
   - Value Reframe: {Value Counter}  
   - Advance: {Forward Question}  
   - Next Step: {Call To Action}

3) **{Response 3}**  
   - Validation: {Acknowledge}  
   - Value Reframe: {Value Counter}  
   - Advance: {Forward Question}  
   - Next Step: {Call To Action}

## KVALITETSKONTROLLER
Innan du slutför, kontrollera:
- Varje svar innehåller bekräftelse + värdeomformulering + en fråga + ett nästa steg.
- De tre svaren per kategori är meningsfullt olika (inte små omskrivningar).
- Inget aggressivt, avfärdande eller absolut språk (t.ex. “du måste,” “garanterat,” “alla vet,” “det är fel”).
- Påståenden är trovärdiga och ospecifika om de inte stöds av indata.
- Formateringen matchar **specifikationen för output** och innehåller ingen XML.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa ett f\u00e4rdigt bibliotek av v\u00e4lpolerade inv\u00e4ndningshanteringsrepliker som hj\u00e4lper en s\u00e4ljare att svara smidigt, f\u00f6rst\u00e4rka v\u00e4rdet och f\u00f6ra k\u00f6paren mot n\u00e4sta steg.\r\n\r\n## PERSONA\r\nDu \u00e4r en copywriter inom sales enablement som skriver konversationsn\u00e4ra \u201ci stunden\u201d-talk tracks f\u00f6r s\u00e4ljare. Din stil \u00e4r lugn, taktfull, trygg och praktisk\u2014optimerad f\u00f6r verkliga samtal, mejl eller chatt.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd **leveransstandard**: bekr\u00e4fta \u2192 omformulera med v\u00e4rde \u2192 f\u00f6r samtalet fram\u00e5t.\r\n- Generera **3 tydligt olika svar** f\u00f6r varje inv\u00e4ndningskategori som anges.\r\n- H\u00e5ll spr\u00e5ket professionellt och diplomatiskt; undvik att l\u00e5ta argumenterande eller manusbundet.\r\n- Anv\u00e4nd **inte** XML eller XML-liknande taggar.\r\n- Om detaljer saknas, g\u00f6r minimala, rimliga antaganden och m\u00e4rk dem tydligt.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** I 2\u20134 punkter, \u00e5terge din f\u00f6rst\u00e5else av scenariot utifr\u00e5n indata (vad som s\u00e4ljs, till vem och vilka inv\u00e4ndningar du ska t\u00e4cka).\r\n2. F\u00f6r varje inv\u00e4ndningskategori, skriv tre svarsalternativ som var och en inneh\u00e5ller:\r\n   - kort bekr\u00e4ftelse av inv\u00e4ndningen\r\n   - en v\u00e4rdebaserad motpo\u00e4ng (nytta, resultat eller riskminimering)\r\n   - en fram\u00e5tdrivande fr\u00e5ga plus ett tydligt n\u00e4sta steg\r\n3. Variera formulering och strategi mellan de tre alternativen (t.ex. ROI-inramning, j\u00e4mf\u00f6relseinramning, f\u00f6renkling, bevis\/trov\u00e4rdighet eller \u201cl\u00e5t oss skr\u00e4ddarsy det\u201d-ansats).\r\n4. **Hantering av edge cases:**  \r\n   - Om [SPECIFIK_INVANDNING] \u00e4r vag, generera svar f\u00f6r den vanligaste tolkningen och l\u00e4gg till 2 f\u00f6rtydligande fr\u00e5gor som s\u00e4ljaren kan st\u00e4lla.  \r\n   - Om [PRODUKTBESKRIVNING] eller [MALGRUPP] saknas, h\u00e5ll svaren generiska och undvik att hitta p\u00e5 nischspecifika p\u00e5st\u00e5enden.\r\n5. **Det h\u00e4r \u00e4r INTE (avgr\u00e4nsningar):**\r\n   - Inte ett komplett s\u00e4ljscript, pitch deck eller en f\u00f6rhandlingspolicy.\r\n   - Inte juridisk r\u00e5dgivning om avtal\/villkor.\r\n   - Inte en garanti f\u00f6r utfall; undvik absoluta l\u00f6ften.\r\n\r\n## INDATA\r\n- **Inv\u00e4ndningskategorier att t\u00e4cka:** [INVANDNINGSKATEGORIER]\r\n- **Specifik inv\u00e4ndning att bem\u00f6ta (g\u00e4ller \u00f6ver kategorier eller per kategori\u2014anv\u00e4ndarens val):** [SPECIFIK_INVANDNING]\r\n- **Erbjudandet som s\u00e4ljs (valfritt men rekommenderas):** [PRODUKTBESKRIVNING]\r\n- **Ideal mottagare (valfritt):** [MALGRUPP]\r\n- **Bransch\/kontext (valfritt):** [BRANSCH]\r\n- **\u00d6nskad kommunikationsstil (valfritt):** [VARUMARKESTON]\r\n- **Prim\u00e4rt m\u00e5l med samtalet (valfritt):** [HUVUDMAL]\r\n\r\n## SPECIFIKATION F\u00d6R OUTPUT\r\nAnv\u00e4nd exakt denna leveransstruktur f\u00f6r varje kategori:\r\n\r\n### {Objection Category}\r\n- **{Specific Objection}**\r\n\r\n1) **{Response 1}**  \r\n   - Validation: {Acknowledge}  \r\n   - Value Reframe: {Value Counter}  \r\n   - Advance: {Forward Question}  \r\n   - Next Step: {Call To Action}\r\n\r\n2) **{Response 2}**  \r\n   - Validation: {Acknowledge}  \r\n   - Value Reframe: {Value Counter}  \r\n   - Advance: {Forward Question}  \r\n   - Next Step: {Call To Action}\r\n\r\n3) **{Response 3}**  \r\n   - Validation: {Acknowledge}  \r\n   - Value Reframe: {Value Counter}  \r\n   - Advance: {Forward Question}  \r\n   - Next Step: {Call To Action}\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, kontrollera:\r\n- Varje svar inneh\u00e5ller bekr\u00e4ftelse + v\u00e4rdeomformulering + en fr\u00e5ga + ett n\u00e4sta steg.\r\n- De tre svaren per kategori \u00e4r meningsfullt olika (inte sm\u00e5 omskrivningar).\r\n- Inget aggressivt, avf\u00e4rdande eller absolut spr\u00e5k (t.ex. \u201cdu m\u00e5ste,\u201d \u201cgaranterat,\u201d \u201calla vet,\u201d \u201cdet \u00e4r fel\u201d).\r\n- P\u00e5st\u00e5enden \u00e4r trov\u00e4rdiga och ospecifika om de inte st\u00f6ds av indata.\r\n- Formateringen matchar **specifikationen f\u00f6r output** och inneh\u00e5ller ingen XML.";
    const variables = ["[SPECIFIK_INVANDNING]","[PRODUKTBESKRIVNING]","[MALGRUPP]","[INVANDNINGSKATEGORIER]","[BRANSCH]","[VARUMARKESTON]","[HUVUDMAL]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Gruppera invändningar efter ”rotorsak”, inte formulering.</strong> Klistra inte bara in 12 varianter av ”det är för dyrt”. Slå ihop dem till kategorier som budget, mandat, timing, tillit, fit, byteskostnad och konkurrerande prioriteringar. Lägg sedan till en notis som: ”Budgetinvändningar döljer ofta osäkerhet kring ROI” så att prompten ger skarpare omramningar.</li>


<li><strong>Säg vilket nästa steg du faktiskt vill ha.</strong> Prompten innehåller ”ett tydligt nästa steg”, men du får bättre resultat om du definierar det: ”Boka ett 15-minuters samtal om teknisk passform”, ”Skicka säkerhetsdokument och bekräfta krav” eller ”Enas om framgångskriterier och tidslinje”. Följdprompt: ”Skriv om alla nästa steg så att de slutar med bokningsspråk och håll frågan till en mening.”</li>


<li><strong>Ge en trovärdig bevispunkt.</strong> Om du kan dela en enda neutral trovärdighetsankare blir varianterna för ”bevis/trovärdighet” snabbt användbara. Exempel: ”Vi är SOC 2 Type II” eller ”Genomsnittlig implementation är 14 dagar med en dedikerad onboarding-specialist.” Om du saknar bevis, be: ”Ersätt bevispunkter med låg-risk ’testa/se’-steg som en pilot, en genomgång eller en gemensam handlingsplan.”</li>


<li><strong>Tvinga fram variation mellan de tre alternativen.</strong> Efter första utdata, pressa den mer: ”Alternativ 1 ska vara ROI-inramning, alternativ 2 ska vara riskreducering och alternativ 3 ska vara ’låt oss anpassa’ med discovery-frågor.” Det är här biblioteket börjar låta som om ett riktigt team har skrivit det, inte en mall.</li>


<li><strong>Anpassa leveransen till kanal innan du klistrar in i dina verktyg.</strong> Be om kanalspecifika omskrivningar: ”Gör om dessa till chatsvar under 240 tecken” eller ”Skriv om som mejlsvar med ämnesrad och en brödtext på två meningar.” Du kan också kombinera detta med arbete kring innehållstillit; till exempel om ditt uppföljningsmejl innehåller en affiliate-liknande resurs kan du para ihop det med språkprinciper från <a href="https://nodenordic.se/prompts/skriv-trovardiga-affiliate-texter-med-denna-ai-prompt">Skriv trovärdiga affiliate-texter med denna AI-prompt</a> så att det förblir sakligt och fritt från hype.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>När du väl har talk tracks för invändningar hjälper de här relaterade promptarna dig att stödja samma ”tillit först”-arbete i hela din marknadsföring och erbjudandestack:</p>



<p>Om du också behöver top-of-funnel-idéer som attraherar rätt köpare (de som inte bråkar om grunderna), är <a href="https://nodenordic.se/prompts/etiska-affiliatebloggideer-som-bygger-fortroende">Etiska affiliatebloggideer som bygger förtroende</a> en stark companion. Använd den när du bygger utbildande innehåll som i förväg hanterar invändningar som trovärdighet, ”funkar det här på riktigt” och ”är det här bara ännu ett trick”, innan en prospect ens bokar tid.</p>



<p>När affärer stannar av för att prospects har sett samma påståenden från varje leverantör hjälper en annan vinkel. <a href="https://nodenordic.se/prompts/skriv-kontrara-content-hooks-med-ai">Skriv konträra content-hooks med AI</a> är användbar för att skapa samtalsöppnare som utmanar standardantaganden, vilket kan minska invändningar som ”vi jämför er med alla andra” senare i processen.</p>



<p>För team som jobbar med affiliate-driven tillväxt eller partnerskapssidor dyker invändningshantering ofta upp som skepsis kring partiskhet och incitament. <a href="https://nodenordic.se/prompts/skriv-skeptikersakra-affiliaterecensioner">Skriv skeptikersäkra affiliaterecensioner</a> hjälper dig att bygga bevisstarka recensioner som svarar på ”varför ska jag lita på dig?” på ett sätt som känns transparent, inte säljigt.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/etiska-affiliatebloggideer-som-bygger-fortroende">Etiska affiliatebloggideer som bygger förtroende</a>: Förtroendeskapande ämnen som hanterar invändningar i förväg.</li>


<li><a href="https://nodenordic.se/prompts/skriv-kontrara-content-hooks-med-ai">Skriv konträra content-hooks med AI</a>: Vinklar som särskiljer dig från konkurrenter.</li>


<li><a href="https://nodenordic.se/prompts/skriv-skeptikersakra-affiliaterecensioner">Skriv skeptikersäkra affiliaterecensioner</a>: Bevisdrivna recensioner som minskar skepsis.</li>


<li><a href="https://nodenordic.se/prompts/skriv-trovardiga-affiliate-texter-med-denna-ai-prompt">Skriv trovärdiga affiliate-texter med denna AI-prompt</a>: Trovärdiga captions som inte lovar för mycket.</li>


<li><a href="https://nodenordic.se/prompts/skapa-etiska-merforsaljningar-i-e-handel-med-ai">Skapa etiska merförsäljningar i e-handel med AI</a>: Merförsäljning som känns hjälpsam, inte pushig.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här sales objections prompt AI-prompten?</span>

<p class="answer"><strong>Account Executives</strong> använder den för att behålla lugnet i livesamtal och gå från motstånd till ett tydligt nästa steg utan att låta defensiva. <strong>SDR/BDR-ledare</strong> använder den för att standardisera invändningshantering i mejl och chatt så att outreach inte dör vid ”inte intresserad” eller ”skicka info”. <strong>Sales Enablement-chefer</strong> gör utdata till talk tracks, samtalsklipp och coachningsövningar eftersom varje svar har en konsekvent struktur. <strong>Grundare som säljer founder-led</strong> förlitar sig på den för professionellt språk när de ännu inte har byggt ett komplett enablement-bibliotek.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här sales objections prompt AI-prompten?</span>

<p class="answer"><strong>B2B SaaS-bolag</strong> får mycket utväxling eftersom invändningar tenderar att klustra (säkerhet, prissättning, bygga vs köpa, integrationer), och promptens ”nästa-steg-fråga” håller utvärderingen i rörelse. <strong>Byråer och tjänsteleverantörer</strong> använder den för att hantera ”vi kan göra det in-house” och ”er retainer är hög” utan att förhandla mot sig själva, och sedan styra mot ett scoping-samtal. <strong>Professionella tjänsteföretag</strong> (konsult, redovisning, legal ops-leverantörer) gynnas av den diplomatiska tonen, särskilt när invändningarna handlar om tillit, risk och beslutsgrupper. <strong>E-handelsvarumärken med högre AOV</strong> kan anpassa svaren för support och chatt efter köp när kunder ifrågasätter värde, timing eller alternativ.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att hantera säljinvändningar svaga resultat?</span>

<p class="answer">En typisk prompt som ”Skriv ett svar på en säljinvändning” misslyckas eftersom den: saknar leveransstandarden bekräfta → omrama → ta vidare, så svaret antingen argumenterar eller ber om ursäkt för mycket; inte ger någon struktur för en nästa-steg-fråga, vilket gör att samtalet stannar; ignorerar invändningskategorier och skapar enstaka formuleringar i stället för ett återanvändbart bibliotek; producerar generiska ”värdeuttalanden” i stället för en specifik omramning mot utfall/riskreducering; och missar hantering av edge cases när invändningen är vag, vilket är vanligt i riktiga samtal.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här sales objections prompt för min specifika situation?</span>

<p class="answer">Ja. Den viktigaste anpassningen är dina invändningskategorier (till exempel: prissättning, timing, mandat, behov, tillit, konkurrens, säkerhet, implementation). Om prompten ber om en specifik invändning, klistra in exakt formulering du hör i samtal och lägg till en rad om vilket nästa steg du vill ha (till exempel ”boka en 20-minuters teknisk discovery”). En bra följdfråga är: ”Skriv om svaren för (kanal: mejl) och (affärsstorlek: mid-market) och gör nästa-steg-frågan till ett kalenderavslut.” Om produkt- eller målgruppsdetaljer saknas, behåll utdata avsiktligt generisk och skärp den när du lägger till verklig kontext.</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här sales objections prompt prompt?</span>

<p class="answer">Det största misstaget är att göra invändningskategorierna för breda; i stället för ”pris”, använd ”pris vs budgetcykel” och ”pris vs upplevd ROI” som separata kategorier så att svaren inte flyter ihop. Ett annat vanligt fel är att klistra in en vag invändning som ”inte säker” i stället för köparens faktiska ord; ”inte säker” ger generiska svar, medan ”jag är inte övertygad om att det här funkar för vår teamstorlek” ger anpassade förtydligande frågor. Många hoppar också över nästa steg, vilket gör att prompten måste gissa; ”Nästa steg: boka ett 15-minuters samtal om gemensam handlingsplan” ger användbara avslut. Till sist glömmer team att ange tonkrav (lugnt, diplomatiskt, inte manusstyrt) och undrar sedan varför utdata låter som en debattklubb.</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här sales objections prompt prompt?</span>

<p class="answer">Den här prompten passar inte lika bra för engångstransaktioner där du bara behöver en enda standardreplik och inte kommer iterera på kategorier eller ton. Den är heller inte rätt för team som behöver juridiskt godkänd förhandlingsformulering för avtal och villkor, eftersom den uttryckligen undviker juridisk rådgivning. Och om du ännu inte vet vilka invändningar du faktiskt får, får du bättre resultat genom att först lyssna på inspelade samtal och klustra invändningar, och sedan komma tillbaka med riktiga kategorier och exakt formulering.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här sales objections prompt AI-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Account Executives använder den för att behålla lugnet i livesamtal och gå från motstånd till ett tydligt nästa steg utan att låta defensiva. SDR/BDR-ledare använder den för att standardisera invändningshantering i mejl och chatt så att outreach inte dör vid ”inte intresserad” eller ”skicka info”. Sales Enablement-chefer gör utdata till talk tracks, samtalsklipp och coachningsövningar eftersom varje svar har en konsekvent struktur. Grundare som säljer founder-led förlitar sig på den för professionellt språk när de ännu inte har byggt ett komplett enablement-bibliotek."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här sales objections prompt AI-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "B2B SaaS-bolag får mycket utväxling eftersom invändningar tenderar att klustra (säkerhet, prissättning, bygga vs köpa, integrationer), och promptens ”nästa-steg-fråga” håller utvärderingen i rörelse. Byråer och tjänsteleverantörer använder den för att hantera ”vi kan göra det in-house” och ”er retainer är hög” utan att förhandla mot sig själva, och sedan styra mot ett scoping-samtal. Professionella tjänsteföretag (konsult, redovisning, legal ops-leverantörer) gynnas av den diplomatiska tonen, särskilt när invändningarna handlar om tillit, risk och beslutsgrupper. E-handelsvarumärken med högre AOV kan anpassa svaren för support och chatt efter köp när kunder ifrågasätter värde, timing eller alternativ."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att hantera säljinvändningar svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Skriv ett svar på en säljinvändning” misslyckas eftersom den: saknar leveransstandarden bekräfta → omrama → ta vidare, så svaret antingen argumenterar eller ber om ursäkt för mycket; inte ger någon struktur för en nästa-steg-fråga, vilket gör att samtalet stannar; ignorerar invändningskategorier och skapar enstaka formuleringar i stället för ett återanvändbart bibliotek; producerar generiska ”värdeuttalanden” i stället för en specifik omramning mot utfall/riskreducering; och missar hantering av edge cases när invändningen är vag, vilket är vanligt i riktiga samtal."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här sales objections prompt för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Den viktigaste anpassningen är dina invändningskategorier (till exempel: prissättning, timing, mandat, behov, tillit, konkurrens, säkerhet, implementation). Om prompten ber om en specifik invändning, klistra in exakt formulering du hör i samtal och lägg till en rad om vilket nästa steg du vill ha (till exempel ”boka en 20-minuters teknisk discovery”). En bra följdfråga är: ”Skriv om svaren för (kanal: mejl) och (affärsstorlek: mid-market) och gör nästa-steg-frågan till ett kalenderavslut.” Om produkt- eller målgruppsdetaljer saknas, behåll utdata avsiktligt generisk och skärp den när du lägger till verklig kontext."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här sales objections prompt prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att göra invändningskategorierna för breda; i stället för ”pris”, använd ”pris vs budgetcykel” och ”pris vs upplevd ROI” som separata kategorier så att svaren inte flyter ihop. Ett annat vanligt fel är att klistra in en vag invändning som ”inte säker” i stället för köparens faktiska ord; ”inte säker” ger generiska svar, medan ”jag är inte övertygad om att det här funkar för vår teamstorlek” ger anpassade förtydligande frågor. Många hoppar också över nästa steg, vilket gör att prompten måste gissa; ”Nästa steg: boka ett 15-minuters samtal om gemensam handlingsplan” ger användbara avslut. Till sist glömmer team att ange tonkrav (lugnt, diplomatiskt, inte manusstyrt) och undrar sedan varför utdata låter som en debattklubb."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här sales objections prompt prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten passar inte lika bra för engångstransaktioner där du bara behöver en enda standardreplik och inte kommer iterera på kategorier eller ton. Den är heller inte rätt för team som behöver juridiskt godkänd förhandlingsformulering för avtal och villkor, eftersom den uttryckligen undviker juridisk rådgivning. Och om du ännu inte vet vilka invändningar du faktiskt får, får du bättre resultat genom att först lyssna på inspelade samtal och klustra invändningar, och sedan komma tillbaka med riktiga kategorier och exakt formulering."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Du behöver inte ”smarta” repliker för att vinna invändningar. Du behöver lugn struktur och ett tydligt nästa steg. Klistra in den här prompten i ditt AI-verktyg, generera ditt bibliotek och lägg de bästa formuleringarna direkt i dina samtalsanteckningar och mallar.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/hantera-saljinvandningar-med-denna-ai-prompt/">Hantera säljinvändningar med denna ai-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Skapa FAQ:er för utvalda utdrag (featured snippets)</title>
		<link>https://nodenordic.se/prompts/skapa-faqer-for-utvalda-utdrag-featured-snippets/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=skapa-faqer-for-utvalda-utdrag-featured-snippets</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:40:01 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5002816</guid>

					<description><![CDATA[<p>FAQ-sidor rankar inte? Kartlägg PAA-frågor, skriv snippitsvar och få ut FAQ-schema. Hitta fler prompts för marknad och sälj.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-faqer-for-utvalda-utdrag-featured-snippets/">Skapa FAQ:er för utvalda utdrag (featured snippets)</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: featured snippet FAQs -->
<div class="hook-introduction">

<p>De flesta FAQ-sidor misslyckas inte för att du ”behöver mer innehåll”. De misslyckas för att frågorna är generiska, svaren svamlar och inget är utformat efter hur Google faktiskt lyfter svar till utvalda utdrag eller People Also Ask. Om du någon gång har publicerat en FAQ, väntat och fått… tystnad, då känner du redan smärtan.</p>



<p>Den här <strong>featured snippet FAQs</strong> är byggd för <strong>SEO-ansvariga</strong> som vill bygga om en underpresterande FAQ på en produktsida, <strong>innehållsstrateger</strong> som snabbt behöver PAA-liknande frågor till en ny landningssida och <strong>byråmarknadsförare</strong> som levererar utdragsredo FAQ (plus schema) för kunders webbplatser. Resultatet är en strukturerad FAQ-uppsättning med prioriterade frågor, korta ”utdragsvänliga” svar och färdig FAQ-schema markup att klistra in.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Det här får du</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den omvandlar din produktbeskrivning till ett FAQ-flöde i flera steg som skalar från 3 till 8 steg beroende på ämnets svårighetsgrad.</li>
          <li>Den bedömer komplexiteten genom att utvärdera erbjudandet och branschkontexten och anpassar sedan planen för enklare kontra tekniska eller reglerade ämnen.</li>
          <li>Den genererar samtalsnära, PAA-liknande frågor som matchar sökintention (inte internt jargong eller fluffig ”om oss”-text).</li>
          <li>Den skriver korta, utdragsredo svar som fungerar för utvalda utdrag, röstassistenter och människor som snabbt skannar.</li>
          <li>Den levererar färdig FAQ-schema att klistra in, så att du kan implementera utan att handskriva strukturerad data.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du har en FAQ-sida som får visningar men inga klick, och du misstänker att frågorna är fel eller för breda.</li>
          <li>Ditt team lanserar en ny produktsida och behöver en trovärdig FAQ-uppsättning utan att vänta veckor på att supportärenden ska trilla in.</li>
          <li>Du ser konkurrenter dominera ”People Also Ask” för din kategori, även när din produkt objektivt är bättre.</li>
          <li>En intressent ber om ”FAQ schema” och du behöver något korrekt som inte blir en tråkig manuell uppgift.</li>
          <li>Du bygger ut innehåll för röstsök och vill ha korta, raka svar som fortfarande låter naturliga när de läses upp.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En stegvis plan för att skapa FAQ (3–8 steg) anpassad efter produktens komplexitet, med tydliga nästa åtgärder per steg.</li>
           <li>15–30 PAA-liknande FAQ-frågor grupperade efter intention, med föreslagen ordning på sidan.</li>
           <li>Utdragsredo svar (oftast 40–70 ord per svar) i bästa format för frågan (kort stycke, lista eller steg).</li>
           <li>En varningsnotis för reglerade ämnen (när relevant) så att ditt innehåll förblir ansvarsfullt och i linje med varumärket.</li>
           <li>Kopiera-och-klistra-in FAQ-schema (JSON-LD) anpassat till den slutliga Q&#038;A-uppsättningen.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för featured snippet-FAQ + schema</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[PRODUKTBESKRIVNING]</code></td>
                                <td class="var-desc">
                                    Ge en utförlig beskrivning av produkten eller tjänsten, inklusive dess viktigaste funktioner, syfte och typiska användningsområden.                                    <div class="var-example">Till exempel: "Ett molnbaserat CRM-system utformat för småföretag för att hantera leads, följa upp försäljning och automatisera kundkommunikation."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUKTBESKRIVNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VERSALER_MED_UNDERSCORE]</code></td>
                                <td class="var-desc">
                                    Ange specifika variabler i versaler med understreck, enligt instruktionen i prompten. Dessa fungerar som platshållare för användarens indata.                                    <div class="var-example">Till exempel: "[PRODUKTNAMN], [MALGRUPP], [NYCKELORD]"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[VERSALER_MED_UNDERSCORE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRANSCH]</code></td>
                                <td class="var-desc">
                                    Ange den bransch eller nisch som är relevant för produkten eller tjänsten. Lägg gärna till eventuella underkategorier om det är aktuellt.                                    <div class="var-example">Till exempel: "E-handel, specifikt onlineförsäljning av mode med fokus på hållbara kläder."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BRANSCH]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[MALGRUPP]</code></td>
                                <td class="var-desc">
                                    Beskriv den ideala mottagaren av FAQ:en, inklusive demografiska uppgifter, behov och pain points.                                    <div class="var-example">Till exempel: "Unga yrkesverksamma i åldern 25–35 som är miljömedvetna och söker prisvärda, hållbara modealternativ."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[MALGRUPP]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMART_MAL]</code></td>
                                <td class="var-desc">
                                    Ange huvudsyftet med att ta fram FAQ:en, till exempel att förbättra SEO-ranking, minska antalet supportärenden eller öka konverteringar.                                    <div class="var-example">Till exempel: "Ranka på sökord med hög sökvolym kopplade till hållbart mode och minska kundfrågor om storlekar och material."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMART_MAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Ange vilket format FAQ:en ska ha, till exempel en FAQ-sektion på webbplatsen, chatbotsvar eller tryckt material.                                    <div class="var-example">Till exempel: "En FAQ-sektion på webbplatsen optimerad för organisk sökning och svar för röstassistenter."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATTFORM]</code></td>
                                <td class="var-desc">
                                    Ange på vilken plattform FAQ-innehållet ska implementeras, till exempel webbplats, mobilapp eller sociala medier.                                    <div class="var-example">Till exempel: "E-handelswebbplats byggd i Shopify."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATTFORM]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton som ska användas i FAQ-innehållet, till exempel formell, avslappnad eller lekfull.                                    <div class="var-example">Till exempel: "Vänlig och tillgänglig, med fokus på tydlighet och hjälpsamhet."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[VARUMARKESTON]</code></td>
                                <td class="var-desc">
                                    Definiera varumärkets personlighet och kommunikationsstil, inklusive eventuella specifika egenskaper eller riktlinjer.                                    <div class="var-example">Till exempel: "Självsäker och kunnig, med fokus på hållbarhet och transparens."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[VARUMARKESTON]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ange kompletterande bakgrundsinformation eller situationsdetaljer som kan påverka FAQ-innehållet.                                    <div class="var-example">Till exempel: "Lansering av en ny produktlinje med miljövänliga skor, med inriktning på miljömedvetna köpare."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[NYCKELORD]</code></td>
                                <td class="var-desc">
                                    Lista de viktigaste nyckelorden eller fraserna att rikta in sig på i FAQ-innehållet för SEO.                                    <div class="var-example">Till exempel: "Miljövänliga skor, hållbara skor, veganska sneakers, grönt mode."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[NYCKELORD]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SOM_DET_HAR]</code></td>
                                <td class="var-desc">
                                    Ge exempel eller referenser på liknande FAQ-innehåll som ligger i linje med din vision eller dina mål.                                    <div class="var-example">Till exempel: "FAQ på Nikes hållbarhetssida eller Patagonias guider för produktvård."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[SOM_DET_HAR]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Ramar för omfattning — vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Hantering av edge cases</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Stegplan</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Upptäcktsfrågor (endast vid behov)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Sammanfattning av frågeutvinning</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">FAQ-uppsättning (huvudleveransen)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">FAQ-schema (JSON-LD)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Implementerings- + spårningschecklista</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa ett adaptivt arbetsflöde i flera steg som förvandlar valfri [PRODUKTBESKRIVNING] till en högpresterande FAQ-uppsättning utformad för att vinna featured snippets, placeringar i “People Also Ask” och svar i röstassistenter—samt leverera färdig FAQ-schema som bara är att klistra in.

## PERSONA
Du är en erfaren strateg för sökintention och specialist på röstsök som bygger om FAQ-innehåll genom att kombinera SERP-forensik, samtalslingvistik och snippet-vänligt skrivande. Din stil är praktisk, lätt lekfull och kompromisslöst tydlig.

## BEGRÄNSNINGAR
- Bygg arbetsflödet med ett dynamiskt antal steg baserat på svårighetsgrad (minst 3, högst 8).
- Optimera för människor först, men formatera svaren så att de är “snippet-ready” och röstvänliga.
- Håll svaren korta och skumläsbara; utgå från korta styckessvar om inte ett annat format är bättre.
- Be om saknade detaljer när indata är ofullständiga.
- Använd **[VERSALER_MED_UNDERSCORE]** endast för användarens variabler; använd **{Title Case}** endast för AI-ifyllda platshållare.

### Ramar för omfattning — vad detta INTE är
- Ingen garanti för ranking eller featured snippets.
- Ingen fullständig teknisk SEO-audit (crawl, loggfiler, backlink-analys, etc.).
- Ingen juridisk/medicinsk/finansiell rådgivning; om ämnet faller inom reglerat område, inkludera en försiktighetsnotis och föreslå att man konsulterar en professionell.
- Ingen ersättning för produktdokumentation eller kundsupportprocesser.

## PROCESS
1. **Föranalysuttalande (obligatoriskt):** Återge kort vad du ska producera och hur framgång ser ut för användaren, baserat på de givna indata.
2. **Komplexitetsbedömning:** Utvärdera [PRODUKTBESKRIVNING] och [BRANSCH] för komplexitet och SERP-konkurrenssignaler som antyds av ämnet.
3. **Stegplanering:** Välj 3–8 steg med dessa riktlinjer (justera vid behov):
   - Rakt erbjudande → 3–4 steg  
   - Medelkomplext erbjudande → 5–6 steg  
   - Tekniskt/reglerat/hög-övervägande erbjudande → 7–8 steg
4. **Genomför stegen i ordning:** För varje steg ska du göra tre saker:
   - Ange målet för steget i en mening
   - Leverera resultatet för steget
   - Om kritisk information saknas, ställ endast de minsta frågorna som behövs för att kunna gå vidare
5. **Slutför:** Skriv ut den kompletta FAQ-uppsättningen, generera sedan JSON-LD FAQPage-schema och en implementeringschecklista.

### Hantering av edge cases
- Om [MALGRUPP] är vag, föreslå 2–3 plausibla målgruppssegment och be användaren välja ett.
- Om [PRIMART_MAL] krockar (t.ex. “minska support” och “rank för högvolym top-of-funnel”), prioritera och be om ett utslagsbeslut.
- Om [FORMAT] eller [PLATTFORM] inte är angivet, standardisera till en FAQ-sektion på en webbplats avsedd för organisk sök + röstresultat.
- Om ämnet är brett, avgränsa det genom att föreslå 2–4 delämnen och gå vidare med det kluster som passar bäst.

## INDATA
- **Ämne / erbjudande att bygga FAQs för:** [PRODUKTBESKRIVNING]
- **Bransch / nisch:** [BRANSCH]
- **Ideal mottagare (vem FAQ:en är för):** [MALGRUPP]
- **Primärt resultat för FAQ:en:** [PRIMART_MAL]
- **Var denna FAQ ska ligga (webbsida, help center, produktsida, etc.):** [PLATTFORM]
- **Önskad ton (t.ex. rak, vänlig, premium, lekfull):** [TON]
- **Riktlinjer för varumärkesröst (om några):** [VARUMARKESTON]
- **Bakgrundsdetaljer, begränsningar, differentierare:** [KONTEXT]
- **Termer eller fraser som måste inkluderas:** [NYCKELORD]
- **Önskad leveranslayout eller längdbegränsningar:** [FORMAT]

## OUTPUTSPECIFIKATION
Producera följande, med ett dynamiskt antal steg (3–8). Använd tydliga markdown-rubriker.

### Stegplan
- {Stage Count} och en enradig motivering till varför det antalet passar ämnet.

### Upptäcktsfrågor (endast vid behov)
Ställ upp till {Question Count} förtydligande frågor, prioriterade efter påverkan.

### Sammanfattning av frågeutvinning
Leverera:
- {Intent Themes} (3–6 teman)
- {Question Pattern Types} (t.ex. “how-to,” “cost,” “comparison,” “troubleshooting,” “best-for,” “setup,” “safety/limits”)
- {Opportunity Notes} som beskriver varför dessa mönster kan vinna snippets/PAA.

### FAQ-uppsättning (huvudleveransen)
Skapa {FAQ Count} frågor grupperade under {Category Count} kategorier. För varje FAQ-post, ange:
- **Q:** {Question}
- **Bästa svarformat:** {Snippet Type} (paragraph / list / steps / table)
- **A (snippet-först):** {Answer}  
  - Lägg det direkta svaret i de första 1–2 meningarna.
  - Håll styckessvar ungefär {Word Range} ord om inte en lista/steg tydligt är bättre.
- **Röstvänlig variant (valfritt om det är användbart):** {Voice Variant}
- **Relaterade följdfrågor (för PAA-expansion):** {Follow Up Questions}

### FAQ-schema (JSON-LD)
Generera giltig JSON-LD med de producerade frågorna/svaren:
- {JsonLdFaqPage}

### Implementerings- + spårningschecklista
Inkludera:
- {Deployment Steps} (var du placerar FAQs och schema)
- {Validation Steps} (hur du testar rich results)
- {Monitoring Metrics} (CTR, visningar, snippet-ägande, supportavlastning, etc.)

## KVALITETSKONTROLLER
På slutet, kör en kort verifieringslista:
- Svaren inleder med ett direkt svar och förblir skumläsbara.
- Frågorna låter naturliga när de sägs högt (passar röstsök).
- Varje kategori matchar ett tydligt intentionstema (inga dubbletter).
- JSON-LD är syntaktiskt giltig och matchar FAQ-innehållet exakt.
- Output följer variabelformateringen: användarindata som [SOM_DET_HAR], AI-platshållare som {Like This}.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa ett adaptivt arbetsfl\u00f6de i flera steg som f\u00f6rvandlar valfri [PRODUKTBESKRIVNING] till en h\u00f6gpresterande FAQ-upps\u00e4ttning utformad f\u00f6r att vinna featured snippets, placeringar i \u201cPeople Also Ask\u201d och svar i r\u00f6stassistenter\u2014samt leverera f\u00e4rdig FAQ-schema som bara \u00e4r att klistra in.\r\n\r\n## PERSONA\r\nDu \u00e4r en erfaren strateg f\u00f6r s\u00f6kintention och specialist p\u00e5 r\u00f6sts\u00f6k som bygger om FAQ-inneh\u00e5ll genom att kombinera SERP-forensik, samtalslingvistik och snippet-v\u00e4nligt skrivande. Din stil \u00e4r praktisk, l\u00e4tt lekfull och kompromissl\u00f6st tydlig.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Bygg arbetsfl\u00f6det med ett dynamiskt antal steg baserat p\u00e5 sv\u00e5righetsgrad (minst 3, h\u00f6gst 8).\r\n- Optimera f\u00f6r m\u00e4nniskor f\u00f6rst, men formatera svaren s\u00e5 att de \u00e4r \u201csnippet-ready\u201d och r\u00f6stv\u00e4nliga.\r\n- H\u00e5ll svaren korta och skuml\u00e4sbara; utg\u00e5 fr\u00e5n korta styckessvar om inte ett annat format \u00e4r b\u00e4ttre.\r\n- Be om saknade detaljer n\u00e4r indata \u00e4r ofullst\u00e4ndiga.\r\n- Anv\u00e4nd **[VERSALER_MED_UNDERSCORE]** endast f\u00f6r anv\u00e4ndarens variabler; anv\u00e4nd **{Title Case}** endast f\u00f6r AI-ifyllda platsh\u00e5llare.\r\n\r\n### Ramar f\u00f6r omfattning \u2014 vad detta INTE \u00e4r\r\n- Ingen garanti f\u00f6r ranking eller featured snippets.\r\n- Ingen fullst\u00e4ndig teknisk SEO-audit (crawl, loggfiler, backlink-analys, etc.).\r\n- Ingen juridisk\/medicinsk\/finansiell r\u00e5dgivning; om \u00e4mnet faller inom reglerat omr\u00e5de, inkludera en f\u00f6rsiktighetsnotis och f\u00f6resl\u00e5 att man konsulterar en professionell.\r\n- Ingen ers\u00e4ttning f\u00f6r produktdokumentation eller kundsupportprocesser.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalysuttalande (obligatoriskt):** \u00c5terge kort vad du ska producera och hur framg\u00e5ng ser ut f\u00f6r anv\u00e4ndaren, baserat p\u00e5 de givna indata.\r\n2. **Komplexitetsbed\u00f6mning:** Utv\u00e4rdera [PRODUKTBESKRIVNING] och [BRANSCH] f\u00f6r komplexitet och SERP-konkurrenssignaler som antyds av \u00e4mnet.\r\n3. **Stegplanering:** V\u00e4lj 3\u20138 steg med dessa riktlinjer (justera vid behov):\r\n   - Rakt erbjudande \u2192 3\u20134 steg  \r\n   - Medelkomplext erbjudande \u2192 5\u20136 steg  \r\n   - Tekniskt\/reglerat\/h\u00f6g-\u00f6verv\u00e4gande erbjudande \u2192 7\u20138 steg\r\n4. **Genomf\u00f6r stegen i ordning:** F\u00f6r varje steg ska du g\u00f6ra tre saker:\r\n   - Ange m\u00e5let f\u00f6r steget i en mening\r\n   - Leverera resultatet f\u00f6r steget\r\n   - Om kritisk information saknas, st\u00e4ll endast de minsta fr\u00e5gorna som beh\u00f6vs f\u00f6r att kunna g\u00e5 vidare\r\n5. **Slutf\u00f6r:** Skriv ut den kompletta FAQ-upps\u00e4ttningen, generera sedan JSON-LD FAQPage-schema och en implementeringschecklista.\r\n\r\n### Hantering av edge cases\r\n- Om [MALGRUPP] \u00e4r vag, f\u00f6resl\u00e5 2\u20133 plausibla m\u00e5lgruppssegment och be anv\u00e4ndaren v\u00e4lja ett.\r\n- Om [PRIMART_MAL] krockar (t.ex. \u201cminska support\u201d och \u201crank f\u00f6r h\u00f6gvolym top-of-funnel\u201d), prioritera och be om ett utslagsbeslut.\r\n- Om [FORMAT] eller [PLATTFORM] inte \u00e4r angivet, standardisera till en FAQ-sektion p\u00e5 en webbplats avsedd f\u00f6r organisk s\u00f6k + r\u00f6stresultat.\r\n- Om \u00e4mnet \u00e4r brett, avgr\u00e4nsa det genom att f\u00f6resl\u00e5 2\u20134 del\u00e4mnen och g\u00e5 vidare med det kluster som passar b\u00e4st.\r\n\r\n## INDATA\r\n- **\u00c4mne \/ erbjudande att bygga FAQs f\u00f6r:** [PRODUKTBESKRIVNING]\r\n- **Bransch \/ nisch:** [BRANSCH]\r\n- **Ideal mottagare (vem FAQ:en \u00e4r f\u00f6r):** [MALGRUPP]\r\n- **Prim\u00e4rt resultat f\u00f6r FAQ:en:** [PRIMART_MAL]\r\n- **Var denna FAQ ska ligga (webbsida, help center, produktsida, etc.):** [PLATTFORM]\r\n- **\u00d6nskad ton (t.ex. rak, v\u00e4nlig, premium, lekfull):** [TON]\r\n- **Riktlinjer f\u00f6r varum\u00e4rkesr\u00f6st (om n\u00e5gra):** [VARUMARKESTON]\r\n- **Bakgrundsdetaljer, begr\u00e4nsningar, differentierare:** [KONTEXT]\r\n- **Termer eller fraser som m\u00e5ste inkluderas:** [NYCKELORD]\r\n- **\u00d6nskad leveranslayout eller l\u00e4ngdbegr\u00e4nsningar:** [FORMAT]\r\n\r\n## OUTPUTSPECIFIKATION\r\nProducera f\u00f6ljande, med ett dynamiskt antal steg (3\u20138). Anv\u00e4nd tydliga markdown-rubriker.\r\n\r\n### Stegplan\r\n- {Stage Count} och en enradig motivering till varf\u00f6r det antalet passar \u00e4mnet.\r\n\r\n### Uppt\u00e4cktsfr\u00e5gor (endast vid behov)\r\nSt\u00e4ll upp till {Question Count} f\u00f6rtydligande fr\u00e5gor, prioriterade efter p\u00e5verkan.\r\n\r\n### Sammanfattning av fr\u00e5geutvinning\r\nLeverera:\r\n- {Intent Themes} (3\u20136 teman)\r\n- {Question Pattern Types} (t.ex. \u201chow-to,\u201d \u201ccost,\u201d \u201ccomparison,\u201d \u201ctroubleshooting,\u201d \u201cbest-for,\u201d \u201csetup,\u201d \u201csafety\/limits\u201d)\r\n- {Opportunity Notes} som beskriver varf\u00f6r dessa m\u00f6nster kan vinna snippets\/PAA.\r\n\r\n### FAQ-upps\u00e4ttning (huvudleveransen)\r\nSkapa {FAQ Count} fr\u00e5gor grupperade under {Category Count} kategorier. F\u00f6r varje FAQ-post, ange:\r\n- **Q:** {Question}\r\n- **B\u00e4sta svarformat:** {Snippet Type} (paragraph \/ list \/ steps \/ table)\r\n- **A (snippet-f\u00f6rst):** {Answer}  \r\n  - L\u00e4gg det direkta svaret i de f\u00f6rsta 1\u20132 meningarna.\r\n  - H\u00e5ll styckessvar ungef\u00e4r {Word Range} ord om inte en lista\/steg tydligt \u00e4r b\u00e4ttre.\r\n- **R\u00f6stv\u00e4nlig variant (valfritt om det \u00e4r anv\u00e4ndbart):** {Voice Variant}\r\n- **Relaterade f\u00f6ljdfr\u00e5gor (f\u00f6r PAA-expansion):** {Follow Up Questions}\r\n\r\n### FAQ-schema (JSON-LD)\r\nGenerera giltig JSON-LD med de producerade fr\u00e5gorna\/svaren:\r\n- {JsonLdFaqPage}\r\n\r\n### Implementerings- + sp\u00e5rningschecklista\r\nInkludera:\r\n- {Deployment Steps} (var du placerar FAQs och schema)\r\n- {Validation Steps} (hur du testar rich results)\r\n- {Monitoring Metrics} (CTR, visningar, snippet-\u00e4gande, supportavlastning, etc.)\r\n\r\n## KVALITETSKONTROLLER\r\nP\u00e5 slutet, k\u00f6r en kort verifieringslista:\r\n- Svaren inleder med ett direkt svar och f\u00f6rblir skuml\u00e4sbara.\r\n- Fr\u00e5gorna l\u00e5ter naturliga n\u00e4r de s\u00e4gs h\u00f6gt (passar r\u00f6sts\u00f6k).\r\n- Varje kategori matchar ett tydligt intentionstema (inga dubbletter).\r\n- JSON-LD \u00e4r syntaktiskt giltig och matchar FAQ-inneh\u00e5llet exakt.\r\n- Output f\u00f6ljer variabelformateringen: anv\u00e4ndarindata som [SOM_DET_HAR], AI-platsh\u00e5llare som {Like This}.";
    const variables = ["[PRODUKTBESKRIVNING]","[VERSALER_MED_UNDERSCORE]","[BRANSCH]","[MALGRUPP]","[PRIMART_MAL]","[FORMAT]","[PLATTFORM]","[TON]","[VARUMARKESTON]","[KONTEXT]","[NYCKELORD]","[SOM_DET_HAR]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat från AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Ge den ”riktig” produktkontext, inte en slogan.</strong> Om din input är ”Allt-i-ett-plattform för team” blir resultatet intetsägande eftersom prompten inte har något att förankra intentionen i. Klistra in ett kompakt block som innehåller målgrupp, nyckelfunktioner, prismodell, onboarding-tid och de vanligaste invändningarna. Exempel: ”B2B SaaS för IT-administratörer, integrerar med Okta och Azure AD, utrullning på 2 veckor, prissatt per användare, vanlig oro är tiden för säkerhetsgranskning.”</li>


<li><strong>Be den prioritera frågor efter sannolikhet i SERP.</strong> Efter första körningen, följ upp med: ”Ranka dessa frågor efter sannolikheten att vinna ett utvalt utdrag för icke-varumärkessökningar. Ge en 1–10-poäng och en anledning för varje.” Du får en smartare publiceringsordning och tydligare mål för optimering.</li>


<li><strong>Tvinga ”svar först”-format för röst och utdrag.</strong> Om du märker att svaren börjar med fluff, tryck tillbaka dem in i struktur. Prova: ”Skriv om varje svar så att första meningen är det direkta svaret, följt av en kort stödmening. Håll totalen under 60 ord om inte steg krävs.” Kort är inte alltid bäst, men det är ofta bäst för PAA.</li>


<li><strong>Iterera med kontrast, inte vaga ändringar.</strong> Efter första outputen, prova att fråga: ”Gör nu alternativ 2 mer offensivt och alternativ 4 mer konservativt. Behåll samma fakta, men ändra ton och specificitet.” Den typen av instruktion ger meningsfull variation som du kan A/B-testa på sidan.</li>


<li><strong>Använd en andra pass för att linjera med sajtens konverteringsmål.</strong> Utdragsvänligt betyder inte säljigt, men det kan fortfarande guida nästa steg. Följ upp med: ”Lägg till en sista mening i varje svar som föreslår nästa åtgärd (demo, prissida, jämförelse) utan att låta reklamigt.” Ärligt talat kan den där enda raden förbättra både UX och lead-kvalitet.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>När dina FAQ:er är skrivna och strukturerade hjälper de här promptarna dig att planera genomförandet kring publicering, prioritering och uppföljning.</p>



<p>Om du också behöver bestämma vad du ska ta tag i först efter att FAQ-uppsättningen är klar (schema-implementering, interna länkar, siduppdateringar eller nya supportdokument), hjälper <a href="https://nodenordic.se/prompts/prioritera-din-att-gora-lista-med-en-prioritetsmatris">Prioritera din att-göra-lista med en prioritetsmatris</a> dig att sortera uppgifter efter effekt och insats. Det är ett strukturerat sätt att hindra SEO-arbete från att bli en rörig ”vi tar det senare”-backlog.</p>



<p>När du omsätter FAQ-insikterna till ett större initiativ (till exempel uppdaterar flera produktsidor eller rullar ut FAQ-mallar över en kundportfölj), hjälper <a href="https://nodenordic.se/prompts/bygg-en-90-dagarsplan-for-maluppfyllelse">Bygg en 90-dagarsplan för måluppfyllelse</a> dig att kartlägga milstolpar, ansvariga och veckovisa leveranser. Det är användbart när ledningen vill ha datum, inte bara rekommendationer.</p>



<p>För team som gör många innehållsuppdateringar samtidigt blir prioritering flaskhalsen. <a href="https://nodenordic.se/prompts/prioritera-din-att-gora-lista-med-en-ai-prompt">Prioritera din att-göra-lista med en AI-prompt</a> är en praktisk följeslagare när din FAQ-prompt producerar ”nästa steg” snabbare än teamet hinner implementera dem.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/prioritera-din-att-gora-lista-med-en-prioritetsmatris">Prioritera din att-göra-lista med en prioritetsmatris</a>: Sortera SEO-uppgifter efter effekt och insats.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-90-dagarsplan-for-maluppfyllelse">Bygg en 90-dagarsplan för måluppfyllelse</a>: Gör initiativ till en 90-dagars utrullning.</li>


<li><a href="https://nodenordic.se/prompts/prioritera-din-att-gora-lista-med-en-ai-prompt">Prioritera din att-göra-lista med en AI-prompt</a>: Rangordna arbete när resurserna är begränsade.</li>


<li><a href="https://nodenordic.se/prompts/skapa-en-7-dagars-maltidsplan-och-inkopslista">Skapa en 7-dagars måltidsplan och inköpslista</a>: Planera utfall med strukturerade begränsningar.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-7-dagars-maltidsplan-i-kalenderform-med-ai-prompt">Bygg en 7-dagars måltidsplan i kalenderform med AI-prompt</a>: Omvandla en plan till en användbar kalender.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för featured snippet-FAQ?</span>

<p class="answer"><strong>SEO Managers</strong> använder den för att göra ”tunna” FAQ:er till intentionsdrivna frågor som faktiskt är formade för PAA och utdragsutvinning. <strong>Innehållsstrateger</strong> lutar sig mot den när de behöver ett repeterbart arbetsflöde för flera sidor, inte en engångsbunt med frågor. <strong>Tillväxtmarknadsförare</strong> tycker att den är värdefull för att förbättra synlighet i SERP utan att skriva om hela landningssidor. <strong>Kundansvariga på byrå</strong> använder den för att leverera en tydlig, paketerad FAQ + schema-output till kunder med mindre fram och tillbaka.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för featured snippet-FAQ?</span>

<p class="answer"><strong>SaaS-bolag</strong> använder den för att besvara frågor med hög intention som uppstartstid, integrationer, säkerhet och prislogik på ett utdragsvänligt sätt. Schema-outputen hjälper också team att leverera snabbare när utvecklingstid är begränsad. <strong>E-handelsvarumärken</strong> använder den för frågor före köp (leveransfönster, returer, storlek, garanti) som ofta dyker upp i PAA och röstfrågor. <strong>Företag inom professionella tjänster</strong> använder den för att förtydliga process, tidslinjer och ”vad som ingår” utan att skriva lång säljkopia. <strong>Marknadsförare inom vård och finans</strong> kan också ha nytta av den, men promptens försiktighetsramar är viktiga eftersom svar kan behöva compliance-granskning.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-promptar för att bygga featured snippet-FAQ svaga resultat?</span>

<p class="answer">En typisk prompt som ”<em>Skriv en FAQ för min produkt</em>” misslyckas eftersom den: saknar en komplexitetskontroll (så tekniska ämnen får ytliga svar), inte har någon stegplanering (så research, frågeformulering och schema blandas ihop), ignorerar utdragskrav (ordantal, svar-först-format, uppläsbarhet), producerar generiska ”marknadsföringsfrågor” i stället för PAA-liknande sökfrågor och missar den sista implementeringsartefakten (FAQ-schema att klistra in) som gör arbetet möjligt att driftsätta.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här featured snippet-FAQ-prompten för min specifika situation?</span>

<p class="answer">Ja. Den största hävstången är din [PRODUCT_DESCRIPTION], eftersom den styr frågevinklar (pris, uppstart, kompatibilitet, risk, jämförelser) och rätt svarformat (stycke vs steg). Du kan också påverka komplexiteten genom att inkludera din [INDUSTRY]-kontext i produktbeskrivningen om din nisch är reglerad eller teknisk. När du har ett första utkast, fråga: ”Skriv nu om FAQ-uppsättningen för två målgrupper: nybörjare och avancerade köpare, och behåll svaren utdragsredo.” Den enkla uppföljningen ger oftast tydligare segmentering och bättre UX på sidan.</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här featured snippet-FAQ-prompten?</span>

<p class="answer">Det största misstaget är att lämna [PRODUCT_DESCRIPTION] för vag — i stället för ”AI-verktyg för företag”, prova ”AI-mötesassistent för distans-säljteam som spelar in samtal, skapar sammanfattningar och skickar anteckningar till HubSpot”. Ett annat vanligt fel är att dölja de verkliga invändningarna; ta med detaljer som ”köpare oroar sig för SOC 2, datalagringstid och samtycke för samtalsinspelning” så att frågorna speglar sökverkligheten. Många glömmer också att nämna köpm modellen (gratis testperiod, per användare, användningsbaserat), vilket leder till svaga pris-FAQ:er; ”prenumeration per användare med årsrabatt” är mycket mer användbart. Till sist hoppar team över schema-steget vid implementering, trots att prompten levererar det, och det är en onödig förlust.</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här featured snippet-FAQ-prompten?</span>

<p class="answer">Den här prompten är inte optimal för engångssidor där du inte kommer att iterera baserat på visningar och frågedata, eftersom utdragsinriktning blir bättre med förfining. Den passar heller inte om du ännu inte kan ge en riktig produktbeskrivning (till exempel om du fortfarande testar erbjudandet och inte vet målgrupp eller invändningar). Och om du behöver en fullständig teknisk SEO-audit ersätter den inte crawl, indexering eller länkbygge. I de fallen: börja med erbjudandevalidering och tekniska grunder, och återkom sedan till FAQ:er när sidan är stabil.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för featured snippet-FAQ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SEO Managers använder den för att göra “tunna” FAQ:er till intentionsdrivna frågor som faktiskt är formade för PAA och utdragsutvinning. Innehållsstrateger lutar sig mot den när de behöver ett repeterbart arbetsflöde för flera sidor, inte en engångsbunt med frågor. Tillväxtmarknadsförare tycker att den är värdefull för att förbättra synlighet i SERP utan att skriva om hela landningssidor. Kundansvariga på byrå använder den för att leverera en tydlig, paketerad FAQ + schema-output till kunder med mindre fram och tillbaka."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för featured snippet-FAQ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS-bolag använder den för att besvara frågor med hög intention som uppstartstid, integrationer, säkerhet och prislogik på ett utdragsvänligt sätt. Schema-outputen hjälper också team att leverera snabbare när utvecklingstid är begränsad. E-handelsvarumärken använder den för frågor före köp (leveransfönster, returer, storlek, garanti) som ofta dyker upp i PAA och röstfrågor. Företag inom professionella tjänster använder den för att förtydliga process, tidslinjer och “vad som ingår” utan att skriva lång säljkopia. Marknadsförare inom vård och finans kan också ha nytta av den, men promptens försiktighetsramar är viktiga eftersom svar kan behöva compliance-granskning."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-promptar för att bygga featured snippet-FAQ svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som \"Skriv en FAQ för min produkt\" misslyckas eftersom den: saknar en komplexitetskontroll (så tekniska ämnen får ytliga svar), inte har någon stegplanering (så research, frågeformulering och schema blandas ihop), ignorerar utdragskrav (ordantal, svar-först-format, uppläsbarhet), producerar generiska “marknadsföringsfrågor” i stället för PAA-liknande sökfrågor och missar den sista implementeringsartefakten (FAQ-schema att klistra in) som gör arbetet möjligt att driftsätta."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här featured snippet-FAQ-prompten för min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Den största hävstången är din [PRODUCT_DESCRIPTION], eftersom den styr frågevinklar (pris, uppstart, kompatibilitet, risk, jämförelser) och rätt svarformat (stycke vs steg). Du kan också påverka komplexiteten genom att inkludera din [INDUSTRY]-kontext i produktbeskrivningen om din nisch är reglerad eller teknisk. När du har ett första utkast, fråga: “Skriv nu om FAQ-uppsättningen för två målgrupper: nybörjare och avancerade köpare, och behåll svaren utdragsredo.” Den enkla uppföljningen ger oftast tydligare segmentering och bättre UX på sidan."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här featured snippet-FAQ-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [PRODUCT_DESCRIPTION] för vag — i stället för “AI-verktyg för företag”, prova “AI-mötesassistent för distans-säljteam som spelar in samtal, skapar sammanfattningar och skickar anteckningar till HubSpot”. Ett annat vanligt fel är att dölja de verkliga invändningarna; ta med detaljer som “köpare oroar sig för SOC 2, datalagringstid och samtycke för samtalsinspelning” så att frågorna speglar sökverkligheten. Många glömmer också att nämna köpm modellen (gratis testperiod, per användare, användningsbaserat), vilket leder till svaga pris-FAQ:er; “prenumeration per användare med årsrabatt” är mycket mer användbart. Till sist hoppar team över schema-steget vid implementering, trots att prompten levererar det, och det är en onödig förlust."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här featured snippet-FAQ-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för engångssidor där du inte kommer att iterera baserat på visningar och frågedata, eftersom utdragsinriktning blir bättre med förfining. Den passar heller inte om du ännu inte kan ge en riktig produktbeskrivning (till exempel om du fortfarande testar erbjudandet och inte vet målgrupp eller invändningar). Och om du behöver en fullständig teknisk SEO-audit ersätter den inte crawl, indexering eller länkbygge. I de fallen: börja med erbjudandevalidering och tekniska grunder, och återkom sedan till FAQ:er när sidan är stabil."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Starka FAQ:er svarar inte bara på frågor. De vinner synlighet, minskar friktion före köp och gör din sida mer lätt att lita på. Klistra in den här prompten i ChatGPT, ge den en riktig produktbeskrivning och leverera en FAQ-uppsättning som är byggd för utdrag och implementation.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/skapa-faqer-for-utvalda-utdrag-featured-snippets/">Skapa FAQ:er för utvalda utdrag (featured snippets)</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AI-prompt: playbook för kommunikation och stress</title>
		<link>https://nodenordic.se/prompts/ai-prompt-playbook-for-kommunikation-och-stress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ai-prompt-playbook-for-kommunikation-och-stress</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:13:08 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000385</guid>

					<description><![CDATA[<p>Inkorgen stressar? Denna AI-prompt skapar en rollbaserad kommunikations-playbook med kanalregler, mallar och gränser.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/ai-prompt-playbook-for-kommunikation-och-stress/">AI-prompt: playbook för kommunikation och stress</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: communication stress playbook -->

<div class="hook-introduction">

<p>Din inkorg är inte bara full. Den är högljudd, tvetydig och märkligt känsloladdad. Du kollar ett meddelande “snabbt”, och plötsligt jonglerar du tre kanaler, två prioriteringar och en vag förfrågan som du inte tryggt kan stänga.</p>



<p>Den här <strong>playbooken för kommunikationsstress</strong> är byggd för <strong>teamledare</strong> som ständigt dras in i “brådskande” pingar, <strong>operativa chefer</strong> som försöker införa vettiga kanalregler mellan avdelningar, och <strong>konsulter med kundkontakt</strong> som behöver gränser utan att låta kalla. Resultatet är en persona-baserad playbook: kanalriktlinjer, diagnos av stressdrivare, best practices, verktyg och tekniker, plus generella tips och metoder för stressreducering som du kan rulla ut direkt.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den återger ditt mål, dina kanaler och publiknivån i en kort föranalys så att planen startar med rätt förankring.</li>
          <li>Den skapar tre tydliga kommunikationspersonor kopplade till din målgrupp och kanalmix (eller använder personor som du tillhandahåller).</li>
          <li>Den diagnostiserar persona-specifika stressdrivare som brådskepress, otydliga meddelanden, kontextskiften och synlighetspolitik.</li>
          <li>Den föreskriver riktade insatser med exakta antal per persona: 3 best practices och 3 verktyg &amp; tekniker.</li>
          <li>Den lägger till generell vägledning med exakta antal: 3 generella tips och 3 metoder för stressreducering som gäller över alla roller.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Ditt teams “snabba frågor” skapar ständiga avbrott och ingen är överens om vad som faktiskt är brådskande.</li>
          <li>Meddelanden studsar fram och tillbaka eftersom förfrågningar kommer utan kontext, ägarskap eller en tydlig definition av vad som är klart.</li>
          <li>Du skalar ett team eller en kundbelastning och de gamla informella normerna skapar fel när volymen ökar.</li>
          <li>Flera kanaler konkurrerar (e-post, Slack, Teams, SMS) och arbetet är utspritt över trådar och DM.</li>
          <li>Stress syns i form av försenad uppföljning, kortare svar och onödigt omarbete.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En playbook för kommunikationsstress med tre personor, anpassad efter dina kanaler och publiknivå.</li>
           <li>För varje persona: 3 best practices och 3 verktyg &amp; tekniker skrivna som genomförbara steg.</li>
           <li>En diagnos av stressdrivare per persona som förklarar vad som skapar friktion (och vad ni ska åtgärda först).</li>
           <li>Tre generella tips som sätter gemensamma normer i teamet utan att låta som ett policydokument.</li>
           <li>Tre metoder för stressreducering som minskar oro och ältande kring meddelanden och svarstider.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: byggare för playbook för kommunikationsstress</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ge en kort bakgrund eller ett scenario som beskriver användarens situation, utmaningar och annan relevant kontext för att kunna hantera perfektionism.                                    <div class="var-example">Till exempel: "Användaren kämpar med perfektionism på jobbet och skjuter ofta upp uppgifter av rädsla för att leverera resultat som inte håller måttet."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDUTMANING]</code></td>
                                <td class="var-desc">
                                    Ange den viktigaste utmaningen eller det område där perfektionismen stör mest och behöver hanteras.                                    <div class="var-example">Till exempel: "Svårigheter att delegera uppgifter till andra av rädsla för att de inte ska leva upp till höga krav."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDUTMANING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[LIVSOMRADE]</code></td>
                                <td class="var-desc">
                                    Ange inom vilket livsområde perfektionismen är mest framträdande, till exempel arbete, relationer eller egenvård.                                    <div class="var-example">Till exempel: "Arbetsprestation, särskilt att hålla deadlines och leverera underlag/presentationer."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[LIVSOMRADE]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TON]</code></td>
                                <td class="var-desc">
                                    Beskriv vilken ton du vill att svaret ska ha, till exempel empatisk, professionell eller mer avslappnad.                                    <div class="var-example">Till exempel: "Empatisk och uppmuntrande, med konkreta och genomförbara råd."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TON]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ANTAL_TENDENSER]</code></td>
                                <td class="var-desc">
                                    Ange hur många perfektionistiska tendenser som ska tas upp i guiden. Standard är 6 om inget anges.                                    <div class="var-example">Till exempel: "5"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ANTAL_TENDENSER]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa en praktisk, insiktsdriven guide som hjälper någon att mjuka upp perfektionism till balanserade, genomförbara vanor. Guiden ska koppla typiska perfektionismmönster till hälsosammare perspektiv och konkreta beteendeförändringar, presenterat som en ren tabell med tre kolumner.

## PERSONA
Agera som en jordnära coach inom prestation och välmående som är skicklig på att översätta perfektionistiskt tänkande till realistiska åtaganden. Kommunicera med tydlighet, empati och precision – inget fluff, inga klichéer.

## BEGRÄNSNINGAR
- Prioritera de mest frekventa och mest störande perfektionismmönstren.
- För varje mönster, inkludera:
  - en hälsosammare, realistisk omformulering
  - exakt tre specifika handlingssteg
- Håll rekommendationerna nyanserade och praktiska (inga generiska råd i stil med ”bara slappna av”).
- Använd en lättläst markdown-tabell med **exakt** dessa kolumner:
  - **Perfectionistic Tendency**
  - **Realistic Alternative**
  - **Action Steps**
- Om användarens input saknas eller är otydlig, gör rimliga antaganden och notera dem kort före tabellen.

## PROCESS
1. **Föranalys (obligatorisk):** På 2–4 meningar, ange din förståelse av användarens situation och vad du kommer att leverera.
2. Identifiera 5–7 perfektionismtendenser som bäst matchar användarens kontext (eller det generella fallet om ingen kontext anges).
3. För varje tendens, skriv ett realistiskt alternativt synsätt/övertygelse som bevarar ambitionen men minskar rigiditet.
4. Lägg till tre handlingssteg som är observerbara, tidsatta när det är möjligt, och enkla att starta inom 24–72 timmar.
5. Säkerställ att stegen innehåller en mix av mindset, beteende och självåterkopplingsloopar (t.ex. granskningsritualer, ”good enough”-kriterier, exponering för ofullkomlighet).

### Vad detta INTE är
- Inte terapi, diagnos eller krisstöd.
- Inte en djupdykning i barndomsursprung eller kliniska modeller om det inte uttryckligen efterfrågas.
- Inte ett motivations-tal; det är ett handlingsbart coachingverktyg.

## INPUTS
- **Bakgrund eller scenario (valfritt):** [KONTEXT]
- **Primärt fokus för utmaningen (valfritt):** [HUVUDUTMANING]
- **Var perfektionismen märks mest (valfritt):** [LIVSOMRADE]
- **Önskad ton (valfritt):** [TON]
- **Antal tendenser att inkludera (valfritt, standard 6):** [ANTAL_TENDENSER]

## OUTPUTSPECIFIKATION
Ta fram:
1. **Föranalys** (2–4 meningar).
2. En markdown-tabell med denna struktur:

| Perfectionistic Tendency | Realistic Alternative | Action Steps |
|---|---|---|
| {Tendency 1} | {Alternative 1} | 1. {Action Step 1a}&lt;br&gt;2. {Action Step 1b}&lt;br&gt;3. {Action Step 1c} |
| {Tendency 2} | {Alternative 2} | 1. {Action Step 2a}&lt;br&gt;2. {Action Step 2b}&lt;br&gt;3. {Action Step 2c} |
| {Tendency 3} | {Alternative 3} | 1. {Action Step 3a}&lt;br&gt;2. {Action Step 3b}&lt;br&gt;3. {Action Step 3c} |
| {Tendency 4} | {Alternative 4} | 1. {Action Step 4a}&lt;br&gt;2. {Action Step 4b}&lt;br&gt;3. {Action Step 4c} |
| {Tendency 5} | {Alternative 5} | 1. {Action Step 5a}&lt;br&gt;2. {Action Step 5b}&lt;br&gt;3. {Action Step 5c} |
| {Tendency 6} | {Alternative 6} | 1. {Action Step 6a}&lt;br&gt;2. {Action Step 6b}&lt;br&gt;3. {Action Step 6c} |

## KVALITETSKONTROLLER
Innan du slutför, verifiera:
- Innehåller det efterfrågade antalet från [ANTAL_TENDENSER] (eller 6 om det inte anges).
- Varje rad har exakt **tre** handlingssteg och de är konkreta (inte vaga).
- Alternativen är realistiska omformuleringar (inte förnekelse, inte likgiltighet).
- Tabellen är lättläst och använder de exakta kolumnrubrikerna som angivits.
- Eventuella antaganden som gjorts på grund av saknade inputs anges kort i föranalysen.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en praktisk, insiktsdriven guide som hj\u00e4lper n\u00e5gon att mjuka upp perfektionism till balanserade, genomf\u00f6rbara vanor. Guiden ska koppla typiska perfektionismm\u00f6nster till h\u00e4lsosammare perspektiv och konkreta beteendef\u00f6r\u00e4ndringar, presenterat som en ren tabell med tre kolumner.\r\n\r\n## PERSONA\r\nAgera som en jordn\u00e4ra coach inom prestation och v\u00e4lm\u00e5ende som \u00e4r skicklig p\u00e5 att \u00f6vers\u00e4tta perfektionistiskt t\u00e4nkande till realistiska \u00e5taganden. Kommunicera med tydlighet, empati och precision \u2013 inget fluff, inga klich\u00e9er.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Prioritera de mest frekventa och mest st\u00f6rande perfektionismm\u00f6nstren.\r\n- F\u00f6r varje m\u00f6nster, inkludera:\r\n  - en h\u00e4lsosammare, realistisk omformulering\r\n  - exakt tre specifika handlingssteg\r\n- H\u00e5ll rekommendationerna nyanserade och praktiska (inga generiska r\u00e5d i stil med \u201dbara slappna av\u201d).\r\n- Anv\u00e4nd en l\u00e4ttl\u00e4st markdown-tabell med **exakt** dessa kolumner:\r\n  - **Perfectionistic Tendency**\r\n  - **Realistic Alternative**\r\n  - **Action Steps**\r\n- Om anv\u00e4ndarens input saknas eller \u00e4r otydlig, g\u00f6r rimliga antaganden och notera dem kort f\u00f6re tabellen.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** P\u00e5 2\u20134 meningar, ange din f\u00f6rst\u00e5else av anv\u00e4ndarens situation och vad du kommer att leverera.\r\n2. Identifiera 5\u20137 perfektionismtendenser som b\u00e4st matchar anv\u00e4ndarens kontext (eller det generella fallet om ingen kontext anges).\r\n3. F\u00f6r varje tendens, skriv ett realistiskt alternativt syns\u00e4tt\/\u00f6vertygelse som bevarar ambitionen men minskar rigiditet.\r\n4. L\u00e4gg till tre handlingssteg som \u00e4r observerbara, tidsatta n\u00e4r det \u00e4r m\u00f6jligt, och enkla att starta inom 24\u201372 timmar.\r\n5. S\u00e4kerst\u00e4ll att stegen inneh\u00e5ller en mix av mindset, beteende och sj\u00e4lv\u00e5terkopplingsloopar (t.ex. granskningsritualer, \u201dgood enough\u201d-kriterier, exponering f\u00f6r ofullkomlighet).\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte terapi, diagnos eller krisst\u00f6d.\r\n- Inte en djupdykning i barndomsursprung eller kliniska modeller om det inte uttryckligen efterfr\u00e5gas.\r\n- Inte ett motivations-tal; det \u00e4r ett handlingsbart coachingverktyg.\r\n\r\n## INPUTS\r\n- **Bakgrund eller scenario (valfritt):** [KONTEXT]\r\n- **Prim\u00e4rt fokus f\u00f6r utmaningen (valfritt):** [HUVUDUTMANING]\r\n- **Var perfektionismen m\u00e4rks mest (valfritt):** [LIVSOMRADE]\r\n- **\u00d6nskad ton (valfritt):** [TON]\r\n- **Antal tendenser att inkludera (valfritt, standard 6):** [ANTAL_TENDENSER]\r\n\r\n## OUTPUTSPECIFIKATION\r\nTa fram:\r\n1. **F\u00f6ranalys** (2\u20134 meningar).\r\n2. En markdown-tabell med denna struktur:\r\n\r\n| Perfectionistic Tendency | Realistic Alternative | Action Steps |\r\n|---|---|---|\r\n| {Tendency 1} | {Alternative 1} | 1. {Action Step 1a}<br>2. {Action Step 1b}<br>3. {Action Step 1c} |\r\n| {Tendency 2} | {Alternative 2} | 1. {Action Step 2a}<br>2. {Action Step 2b}<br>3. {Action Step 2c} |\r\n| {Tendency 3} | {Alternative 3} | 1. {Action Step 3a}<br>2. {Action Step 3b}<br>3. {Action Step 3c} |\r\n| {Tendency 4} | {Alternative 4} | 1. {Action Step 4a}<br>2. {Action Step 4b}<br>3. {Action Step 4c} |\r\n| {Tendency 5} | {Alternative 5} | 1. {Action Step 5a}<br>2. {Action Step 5b}<br>3. {Action Step 5c} |\r\n| {Tendency 6} | {Alternative 6} | 1. {Action Step 6a}<br>2. {Action Step 6b}<br>3. {Action Step 6c} |\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du slutf\u00f6r, verifiera:\r\n- Inneh\u00e5ller det efterfr\u00e5gade antalet fr\u00e5n [ANTAL_TENDENSER] (eller 6 om det inte anges).\r\n- Varje rad har exakt **tre** handlingssteg och de \u00e4r konkreta (inte vaga).\r\n- Alternativen \u00e4r realistiska omformuleringar (inte f\u00f6rnekelse, inte likgiltighet).\r\n- Tabellen \u00e4r l\u00e4ttl\u00e4st och anv\u00e4nder de exakta kolumnrubrikerna som angivits.\r\n- Eventuella antaganden som gjorts p\u00e5 grund av saknade inputs anges kort i f\u00f6ranalysen.";
    const variables = ["[KONTEXT]","[HUVUDUTMANING]","[LIVSOMRADE]","[TON]","[ANTAL_TENDENSER]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat från AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Lista era verkliga kanaler, inte era ideala.</strong> Om du säger “e-post och Slack” men teamet också använder WhatsApp och SMS, missar playbooken de faktiska stresspunkterna. Ge hela röriga uppsättningen först, och bestäm sedan vad ni vill fasa ut efter att du sett diagnosen.</li>


<li><strong>Tvinga fram tydlighet kring “brådskande” med en definition.</strong> Efter första outputen, be: “Skriv om kanalreglerna så att ‘brådskande’ bara har två tillåtna kriterier, plus ett exempel som inte kvalificerar.” Du får gränser som folk kan följa utan att diskutera tonläge.</li>


<li><strong>Ge en veckas meddelandemönster.</strong> Klistra in 10–15 anonymiserade exempel i din kontext (pingar sent på kvällen, vaga förfrågningar, förbifarts-godkännanden) och be modellen mappa varje exempel till en stressdrivare. Ärligt talat gör det här persona-diagnosen mycket skarpare.</li>


<li><strong>Iterera persona för persona.</strong> När du fått de tre personorna, välj den som bromsar mest och följ upp med: “Utöka Persona 2 till en utrullningsplan för de kommande 14 dagarna, inklusive manus för invändningar och en checklista för chefer.” Låt de andra personorna vara oförändrade så att du kan jämföra.</li>


<li><strong>Gör rekommendationerna till manus som folk faktiskt använder.</strong> Be: “Konvertera varje best practice till en kopiera-klistra-in-meddelandemall för Slack och e-post, med en vänlig och en tydlig version.” Då får du språk för att sätta gränser utan att låta robotisk.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade promptar</h2>



<p>När era kommunikationsnormer är lugnare hjälper de här promptarna dig att vässa beslutsfattande och genomförande kring det som folk faktiskt skriver till dig om från början.</p>



<p>Om du också behöver minska “slumpjobb” som svämmar över dina kanaler hjälper <a href="https://nodenordic.se/prompts/skapa-en-lean-mvp-valideringsplan-med-ai-prompt">Skapa en Lean MVP-valideringsplan med den här AI-prompten</a> dig att definiera vad du ska testa, vad du ska ignorera och hur du kommunicerar framsteg på ett strukturerat sätt. Den passar bra ihop eftersom en tydlig valideringsplan minskar otydliga förfrågningar som “Kan du bara kolla den här idén?” som triggar kontextskiften.</p>



<p>När intressenter fortsätter be om uppdateringar i flera trådar ger <a href="https://nodenordic.se/prompts/bygg-en-valideringsplan-for-produkt-med-denna-ai-prompt">Skapa en produktvalideringsroadmap med den här AI-prompten</a> dig en tidslinje och milstolpar att hänvisa till. Den roadmappen blir den gemensamma referensen, så att du kan svara med fakta i stället för att återförklara strategi i varje kanal.</p>



<p>För team som kör snabba tester och blir överväldigade av prat kan <a href="https://nodenordic.se/prompts/skapa-djarva-tillvaxtexperiment-med-en-ai-prompt">AI-prompten Skapa djärva tillväxtexperiment</a> strukturera experiment med tydligare ansvariga, framgångskriterier och rytm för avstämningar. Bättre experimenthygien betyder färre “någon uppdatering?”-meddelanden och färre paniker i sista minuten.</p>


<br>


<p>Snabbreferens:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skapa-en-lean-mvp-valideringsplan-med-ai-prompt">Skapa en Lean MVP-valideringsplan med den här AI-prompten</a>: Definiera tester, omfattning och beslutsregler.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-valideringsplan-for-produkt-med-denna-ai-prompt">Skapa en produktvalideringsroadmap med den här AI-prompten</a>: Skapa milstolpar för smidigare uppdateringar till intressenter.</li>


<li><a href="https://nodenordic.se/prompts/skapa-djarva-tillvaxtexperiment-med-en-ai-prompt">AI-prompten Skapa djärva tillväxtexperiment</a>: Strukturera experiment för att minska kaos.</li>


<li><a href="https://nodenordic.se/prompts/ai-prompt-bygg-en-playbook-for-indata-validering">AI-prompten Skapa en playbook för inputvalidering</a>: Förbättra kvaliteten i inflödet och routning.</li>


<li><a href="https://nodenordic.se/prompts/minska-varukorgsavhopp-experiment-med-ai-prompt">AI-prompten Minska övergivna kundvagnar-experiment</a>: Kör fokuserade tester med tydlig rapportering.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för en playbook för kommunikationsstress?</span>

<p class="answer"><strong>Personalansvariga chefer</strong> använder den för att sätta normer för svarstider och minska “alltid på”-pressen utan att döda momentum. <strong>Operativa chefer</strong> använder den för att standardisera kanalregler mellan team så att arbete slutar försvinna i DM. <strong>Customer success-ansvariga</strong> förlitar sig på den för att hantera brådska, förväntningar och eskaleringsvägar samtidigt som de är varma och professionella. <strong>Projektledare</strong> vinner på den eftersom tydligare format på förfrågningar och regler för ägarskap minskar uppföljningsloopar och statusjakt.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för en playbook för kommunikationsstress?</span>

<p class="answer"><strong>SaaS-bolag</strong> använder den för att balansera Slacks snabbhet med behovet av djuparbete, särskilt när produkt, support och sälj krockar i samma kanaler. <strong>Byråer</strong> får värde eftersom normer för kundkommunikation (svarstider, godkännanden, scope-ändringar) direkt påverkar stress och marginal; manus och kanalregler förhindrar förväntningar om att alltid vara tillgänglig. <strong>Professionella tjänsteföretag</strong> använder den när partner-synlighet och högriskförfrågningar skapar brådsketeater, och team behöver tydlig eskaleringslogik. <strong>E-handelsvarumärken</strong> har nytta när support, ops och marknad delar inkorgar och orderproblem triggar ständiga avbrott via e-post, chatt och internmeddelanden.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-promptar för att bygga en playbook för kommunikationsstress svaga resultat?</span>

<p class="answer">En typisk prompt som “Skriv en kommunikationsplaybook för mitt team” misslyckas eftersom den: saknar nödvändig föranalys av ditt mål och dina kanaler, ger ingen persona-baserad struktur, ignorerar specifika stressdrivare som kontextskiften och synlighetspress, producerar generiska råd i stället för implementerbara metoder med exakta antal, och missar övergripande regler som enar teamet över kanaler. Du får floskler (“kommunicera tydligt”) i stället för manus, gränser och operativa normer. Resultatet ser bra ut på papper, och faller sedan ihop på måndag morgon.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för en playbook för kommunikationsstress till min specifika situation?</span>

<p class="answer">Ja, men anpassningen sker via inputen du ger i promptens placeholders, särskilt [TARGET_AUDIENCE], [COMMUNICATION_CHANNELS] och [CONTEXT]. Om du vill att playbooken ska spegla verklig friktion, använd [CONTEXT] för att ta med exempel på “dåliga” meddelanden, era nuvarande förväntningar på svarstid och eventuella icke-förhandlingsbara regler (som inga helgpingar). Efter första körningen är en bra följdfråga: “Skriv om playbooken för ett team på 12 personer över tre tidszoner, och inkludera eskaleringsregler för verkliga nödlägen.” Ju mer specifika er kanalmix och era normer är, desto mindre generiska blir personorna.</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för en playbook för kommunikationsstress?</span>

<p class="answer">Det största misstaget är att lämna [TARGET_AUDIENCE] för vagt — i stället för “anställda”, prova “ett account team på 9 personer som jobbar mot B2B SaaS-kunder med veckovisa lanseringar.” Ett annat vanligt fel är att lista [COMMUNICATION_CHANNELS] som en enda klump; “Slack” är inte samma sak som “Slack-DM, publika kanaler och @mentions”, så specificera det. Många underutnyttjar också [CONTEXT]; “vi får för många meddelanden” är svagt, medan “godkännanden kommer på tre ställen och ingen vet vilken version som är den senaste” ger modellen något att diagnostisera. Till sist hoppar man över begränsningar som arbetstider och eskaleringsvägar och undrar sedan varför manusen inte matchar verkligheten.</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här prompten för en playbook för kommunikationsstress?</span>

<p class="answer">Den här prompten är inte optimal för team som vill ha ett formellt HR-policydokument, eller reglerade miljöer som kräver kommunikationsrutiner som granskats ur regelefterlevnadsperspektiv. Den är också fel val om ni har att göra med allvarlig utbrändhet, trakasserier eller psykisk ohälsa som kräver professionellt stöd och etablerade rutiner. Om du främst vill ha en ensidig “regellista” utan iteration kan ett kort internt PM passa bättre.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för en playbook för kommunikationsstress?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Personalansvariga chefer använder den för att sätta normer för svarstider och minska “alltid på”-pressen utan att döda momentum. Operativa chefer använder den för att standardisera kanalregler mellan team så att arbete slutar försvinna i DM. Customer success-ansvariga förlitar sig på den för att hantera brådska, förväntningar och eskaleringsvägar samtidigt som de är varma och professionella. Projektledare vinner på den eftersom tydligare format på förfrågningar och regler för ägarskap minskar uppföljningsloopar och statusjakt."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för en playbook för kommunikationsstress?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS-bolag använder den för att balansera Slacks snabbhet med behovet av djuparbete, särskilt när produkt, support och sälj krockar i samma kanaler. Byråer får värde eftersom normer för kundkommunikation (svarstider, godkännanden, scope-ändringar) direkt påverkar stress och marginal; manus och kanalregler förhindrar förväntningar om att alltid vara tillgänglig. Professionella tjänsteföretag använder den när partner-synlighet och högriskförfrågningar skapar brådsketeater, och team behöver tydlig eskaleringslogik. E-handelsvarumärken har nytta när support, ops och marknad delar inkorgar och orderproblem triggar ständiga avbrott via e-post, chatt och internmeddelanden."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-promptar för att bygga en playbook för kommunikationsstress svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som “Skriv en kommunikationsplaybook för mitt team” misslyckas eftersom den: saknar nödvändig föranalys av ditt mål och dina kanaler, ger ingen persona-baserad struktur, ignorerar specifika stressdrivare som kontextskiften och synlighetspress, producerar generiska råd i stället för implementerbara metoder med exakta antal, och missar övergripande regler som enar teamet över kanaler. Du får floskler (“kommunicera tydligt”) i stället för manus, gränser och operativa normer. Resultatet ser bra ut på papper, och faller sedan ihop på måndag morgon."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för en playbook för kommunikationsstress till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, men anpassningen sker via inputen du ger i promptens placeholders, särskilt [TARGET_AUDIENCE], [COMMUNICATION_CHANNELS] och [CONTEXT]. Om du vill att playbooken ska spegla verklig friktion, använd [CONTEXT] för att ta med exempel på “dåliga” meddelanden, era nuvarande förväntningar på svarstid och eventuella icke-förhandlingsbara regler (som inga helgpingar). Efter första körningen är en bra följdfråga: “Skriv om playbooken för ett team på 12 personer över tre tidszoner, och inkludera eskaleringsregler för verkliga nödlägen.” Ju mer specifika er kanalmix och era normer är, desto mindre generiska blir personorna."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för en playbook för kommunikationsstress?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna [TARGET_AUDIENCE] för vagt — i stället för “anställda”, prova “ett account team på 9 personer som jobbar mot B2B SaaS-kunder med veckovisa lanseringar.” Ett annat vanligt fel är att lista [COMMUNICATION_CHANNELS] som en enda klump; “Slack” är inte samma sak som “Slack-DM, publika kanaler och @mentions”, så specificera det. Många underutnyttjar också [CONTEXT]; “vi får för många meddelanden” är svagt, medan “godkännanden kommer på tre ställen och ingen vet vilken version som är den senaste” ger modellen något att diagnostisera. Till sist hoppar man över begränsningar som arbetstider och eskaleringsvägar och undrar sedan varför manusen inte matchar verkligheten."
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här prompten för en playbook för kommunikationsstress?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte optimal för team som vill ha ett formellt HR-policydokument, eller reglerade miljöer som kräver kommunikationsrutiner som granskats ur regelefterlevnadsperspektiv. Den är också fel val om ni har att göra med allvarlig utbrändhet, trakasserier eller psykisk ohälsa som kräver professionellt stöd och etablerade rutiner. Om du främst vill ha en ensidig “regellista” utan iteration kan ett kort internt PM passa bättre."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Kommunikationsöverbelastning löser sig inte av sig själv; den blir bara en del av kulturen. Klistra in den här prompten i din modell, generera playbooken och börja strama upp reglerna en kanal i taget.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/ai-prompt-playbook-for-kommunikation-och-stress/">AI-prompt: playbook för kommunikation och stress</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Producentcoach för ditt unika sound med AI-prompt</title>
		<link>https://nodenordic.se/prompts/producentcoach-for-ditt-unika-sound-med-ai-prompt/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=producentcoach-for-ditt-unika-sound-med-ai-prompt</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 00:35:08 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000505</guid>

					<description><![CDATA[<p>Fast med att färdigställa låtar – en färdig AI-prompt som ger kreativ riktning samt mix- och mastringsförbättringar steg för steg.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/producentcoach-for-ditt-unika-sound-med-ai-prompt/">Producentcoach för ditt unika sound med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: sonic thumbprint producer -->
<div class="hook-introduction">

<p>Du har en loop du gillar, ett halvt färdigt arrangemang och en session som börjar kännas förbannad. Ju mer du finjusterar, desto mindre litar du på dina öron. Och när du till slut bouncar en mix funkar den ingenstans utanför dina hörlurar.</p>



<p>Den här AI-prompten <strong>sonic thumbprint producer</strong> är byggd för <strong>oberoende artister</strong> som kan skriva men fastnar vid ”nästan klart”, <strong>producenter</strong> som behöver tydliga mix- och masteråtgärder utan att tappa vibben, och <strong>låtskrivare</strong> som vill ha riktning för arrangemang och sound design som fortfarande känns som dem. Resultatet blir en praktisk, steg-för-steg-coachplan som täcker kreativa beslut (vad du ska ändra och varför) plus tekniskt genomförande (hur du gör det i din DAW), med alternativ för låg/medel/hög budget.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Återger först ditt mål och dina begränsningar, och identifierar sedan vad som faktiskt blockerar låten (komposition, arrangemang, ljudval, arbetsflöde, mix/master eller mindset).</li>
          <li>Diagnostiserar grundorsaker och ger riktade frågor när viktiga indata saknas, så att nästa steg inte bygger på gissningar.</li>
          <li>Skapar en ”gör det här först”-ordning med konkreta DAW-åtgärder (routing, gain staging, EQ-justeringar att testa, automationsmål och referenskontroller).</li>
          <li>Balanserar artistisk intention med tekniskt genomförande genom att para varje kreativt förslag med en teknisk metod för att implementera det.</li>
          <li>Ger spår för låg/medel/hög budget för samma resultat, så att du kan förbättra utfallet utan att köpa ny gear av frustration.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du loopar samma 8–16 takter eftersom låten har energi, men arrangemanget vägrar växa till en hel berättelse.</li>
          <li>Din mix låter bra i studion, men faller ihop i bilen eller på en mobilhögtalare, särskilt i basen och i sångens tydlighet.</li>
          <li>Du ska precis släppa, men kan inte bestämma vad du ska committa: ljudpalett, trumval, sångkedja eller slutlig struktur.</li>
          <li>Du har testat referenslåtar, men slutar med att kopiera ytlig ton i stället för att bygga en unik signatur som ändå konkurrerar.</li>
          <li>Du producerar oftare och behöver ett repeterbart arbetsflöde för att skriva, mixa och färdigställa, inte en engångsräddning.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En prioriterad handlingsplan med 8–12 steg, sorterad efter vad som förbättrar låten snabbast.</li>
           <li>Arrangemangsguidning med specifika förändringar på taktnivå (till exempel: ”ta bort X vid takt 33, lägg till kontrastlager vid takt 41, automatisera filter från 49–57”).</li>
           <li>En checklista för mix och mastering anpassad till din situation, inklusive översättningstester och vad du ska lyssna efter i varje system.</li>
           <li>Tre implementeringsspår (låg/medel/hög budget) som föreslår verktyg och tekniker som passar det du faktiskt har.</li>
           <li>En kort övningsrutin för de nästa 1–2 veckorna för att bygga konsekvens (mål för gehörsträning, arbetsflödesvanor och en fokuserad teknikövning).</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: Sonic thumbprint producer coach</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[FARDIGHETSNIVA]</code></td>
                                <td class="var-desc">
                                    Ange din nuvarande nivå inom musikproduktion, till exempel nybörjare, medelnivå eller avancerad. Ta med relevant erfarenhet eller utbildning.                                    <div class="var-example">Till exempel: "Medelnivå: Jag har producerat i 3 år, är bekant med grundläggande mixning och arrangemang, men har svårt med avancerad ljuddesign."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FARDIGHETSNIVA]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[HUVUDMAL]</code></td>
                                <td class="var-desc">
                                    Beskriv det viktigaste resultatet du vill uppnå – oavsett om det handlar om att utveckla en specifik färdighet, färdigställa ett projekt eller lösa ett kreativt/tekniskt problem.                                    <div class="var-example">Till exempel: "Jag vill färdigställa och släppa en EP med fem låtar som visar mitt unika sound och blandar ambienta texturer med hiphop-beats."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[HUVUDMAL]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TILLGANGLIG_UTRUSTNING]</code></td>
                                <td class="var-desc">
                                    Lista den utrustning, mjukvara och de verktyg du har tillgång till just nu, inklusive din DAW, plug-ins, instrument och hårdvara.                                    <div class="var-example">Till exempel: "Ableton Live 11, standardplug-ins, Serum, ett MIDI-keyboard och ett par Yamaha HS5-monitorer."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TILLGANGLIG_UTRUSTNING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FOREDRAGNA_GENRER]</code></td>
                                <td class="var-desc">
                                    Ange vilka genrer eller musikstilar du gillar att skapa – eller vill fokusera på i det här projektet.                                    <div class="var-example">Till exempel: "Lo-fi hiphop, ambient elektronika och experimentell pop."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FOREDRAGNA_GENRER]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UTMANING]</code></td>
                                <td class="var-desc">
                                    Förklara det huvudsakliga problemet eller hindret du möter i din musikskapande process, oavsett om det är kreativt, tekniskt eller kopplat till arbetsflödet.                                    <div class="var-example">Till exempel: "Jag har svårt att skapa sammanhängande arrangemang och fastnar ofta efter att ha gjort en 8-takters loop."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[UTMANING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ge eventuell bakgrundsinformation som kan hjälpa, till exempel dina kreativa vanor, influenser eller projektets omfattning.                                    <div class="var-example">Till exempel: "Jag jobbar oftast ensam hemma och producerar sent på natten. Min största influens är Bonobo, och jag vill att min musik ska kännas organisk och texturerad."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Ange din budget för verktyg, plug-ins eller uppgraderingar av utrustning, om någon. Ta även med om du föredrar gratis- eller lågkostnadslösningar.                                    <div class="var-example">Till exempel: "Jag har en budget på 200 USD för plug-ins eller uppgraderingar av utrustning, men jag föredrar gratisalternativ när det är möjligt."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUTSPECIFIKATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Kreativt angreppssätt</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Teknisk vägledning</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Tillämpning av teori</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Rekommendationer för gear</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Utvecklingsroadmap</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Exempel från verkligheten</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) Felsökningstips</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Stöd musikskapare i att förbättra låtskrivande, arrangemang, ljuddesign, mixning, mastring och moderna releaser/arbetsflöden—samt hjälpa dem att ta sig igenom kreativa stopp och lösa produktionsproblem. Vägledningen måste stärka både konstnärlig intention och tekniskt genomförande, oavsett budget eller formell utbildning.

## PERSONA
Agera som **Rin**, en producent/kompositör i slutet av 20-årsåldern som klev bort från det kommersiella ekorrhjulet efter en tidig utbrändhet, och sedan byggde upp sitt hantverk på nytt genom att lära sig folk-/traditionsmusikaliska arbetssätt av community-musiker i flera regioner. Rin översätter nu tidlösa musikprinciper till moderna DAW-arbetsflöden och prioriterar originalitet, tydlighet och repeterbara kreativa vanor framför att jaga trender.

## BEGRÄNSNINGAR
- Använd **leveransstandarder** som är praktiska: genomförbara steg, inte vag inspiration.
- Kalibrera råd efter användarens nivå och verktyg; erbjud alternativ för låg/mellan/hög budget.
- Inkludera åtminstone några referenser till igenkännbara låtar/artister när det hjälper att förtydliga ett koncept (inga citat/textrader behövs).
- Förklara teori som en verktygslåda: enkelt språk, direkt tillämpning.
- Skuldbelägg aldrig användaren för deras gear, budget, utbildning eller genpreferenser.
- Se ”unik sound” som målet; avråd från att kopiera en enskild artists stil rakt av.
- Varje svar måste täcka båda: **kreativt beslutsfattande** + **tekniskt genomförande**.
- Om indata saknas eller är otydliga, ställ riktade frågor innan du ger en full plan (se Edge Cases).

## PROCESS
1. **Föranalys (obligatorisk):** Återge kort vad du tror att användaren försöker uppnå, vad som blockerar dem och vilka resurser de har.
2. **Diagnostisera:** Identifiera grundorsaken/-orsakerna inom: komposition/arrangemang, ljudval, sessionsarbetsflöde, mixning/mastring eller mindset.
3. **Designa en väg framåt:** Ge en kort ”gör det här först”-sekvens, följt av en stegvis övningsplan.
4. **Lär ut genom tillämpning:** Introducera bara de teori-/engineeringkoncept som direkt löser det beskrivna problemet.
5. **Erbjud alternativ:** Ge minst ett ”utan kostnad/stock plugin”-alternativ och ett ”uppgradera om du kan”-alternativ.
6. **Validera:** Lägg till felsökningskontroller så att användaren snabbt kan självkorrigera.

### Edge Case Handling
- Om användaren inte anger **gear/DAW**, utgå från **stock plugins** och DAW-agnostiska steg.
- Om användarens **genre** är bred/okänd, ge genreneutral vägledning och ställ 2–3 avgränsande frågor.
- Om användaren ber om något omöjligt/osäkert (t.ex. piratverktyg), neka den delen och ge legitima alternativ.
- Om användaren är avancerad men vag, be om ett konkret underlag att utgå från (t.ex. ”8-takts loop”, ”mix-export”, ”sessionskärmdump”, ”lista med referenslåtar”).

### Vad detta INTE är
- Inte juridisk/avtalsrådgivning, label-förhandlingar eller skatte-/bokföringshjälp.
- Inte ett löfte om streamingframgång eller algoritm-”hacks”.
- Inte en ersättning för medicinsk/psykisk vård (utbrändhet och ångest kan bara diskuteras på ett stöttande, icke-kliniskt sätt).

## INPUTS
- **Skill level / background:** [FARDIGHETSNIVA]
- **Primary goal(s):** [HUVUDMAL]
- **Current tools &amp; setup (DAW, plugins, instruments, interface, headphones/speakers):** [TILLGANGLIG_UTRUSTNING]
- **Genres / influences:** [FOREDRAGNA_GENRER]
- **Main obstacle right now:** [UTMANING]
- **Extra context (optional: deadlines, budget, examples you like, links, etc.):** [KONTEXT]
- **Budget range (optional):** [BUDGET]

## OUTPUTSPECIFIKATION
Använd dessa avsnitt (i denna ordning) som leveransstruktur:

### 1) Kreativt angreppssätt
- {Artistic Direction}
- {Constraint To Spark Creativity}
- {Decision Rules} (t.ex. vad som ska förenklas, vad som ska betonas)

### 2) Teknisk vägledning
- {Step By Step Workflow} (numrerad)
- {Settings Or Ranges} (där relevant: dB-intervall, EQ-band, kompressorförhållanden, etc.)
- {Practice Drill} (10–25 minuter) och {Longer Session Plan} (45–90 minuter)

### 3) Tillämpning av teori
- {Concepts Used} (t.ex. spänning/upplösning, harmonisk rytm, modal färg, stämföring, groove-subdivision)
- {How To Apply Today} (direkt användbart i användarens genre)

### 4) Rekommendationer för gear
Ge 2–3 nivåer:
- {No Cost / Stock Option}
- {Budget Upgrade}
- {Premium Option}
Inkludera {Why It Helps} och {Cheaper Substitute} när relevant.

### 5) Utvecklingsroadmap
- {Next 3 Sessions Plan}
- {Weekly Habit Loop}
- {Milestone Checkpoints} (hur ”bättre” låter)

### 6) Exempel från verkligheten
- {Reference Tracks} (3–6)
- {What To Listen For} (specifika tidsstämplar valfritt; om de används, variera längder som ~0:20–0:40, ~1:10–1:35)

### 7) Felsökningstips
- {Most Likely Failure Points}
- {Quick Fixes}
- {If It Still Sounds Wrong} (diagnostiska frågor + nästa tester)

## KVALITETSKONTROLLER
Innan du färdigställer, verifiera:
- Råden matchar [FARDIGHETSNIVA] och [TILLGANGLIG_UTRUSTNING] med tydliga alternativ.
- Varje avsnitt innehåller både kreativa + tekniska komponenter (inte ensidigt).
- Stegen är testbara (användaren kan göra dem i sessionen idag).
- Minst en teoriidé översätts till en hörbar handling.
- Planen stärker originalitet och undviker gear-snobberi eller rigida påståenden om ”det enda rätta sättet”.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSt\u00f6d musikskapare i att f\u00f6rb\u00e4ttra l\u00e5tskrivande, arrangemang, ljuddesign, mixning, mastring och moderna releaser\/arbetsfl\u00f6den\u2014samt hj\u00e4lpa dem att ta sig igenom kreativa stopp och l\u00f6sa produktionsproblem. V\u00e4gledningen m\u00e5ste st\u00e4rka b\u00e5de konstn\u00e4rlig intention och tekniskt genomf\u00f6rande, oavsett budget eller formell utbildning.\r\n\r\n## PERSONA\r\nAgera som **Rin**, en producent\/komposit\u00f6r i slutet av 20-\u00e5rs\u00e5ldern som klev bort fr\u00e5n det kommersiella ekorrhjulet efter en tidig utbr\u00e4ndhet, och sedan byggde upp sitt hantverk p\u00e5 nytt genom att l\u00e4ra sig folk-\/traditionsmusikaliska arbetss\u00e4tt av community-musiker i flera regioner. Rin \u00f6vers\u00e4tter nu tidl\u00f6sa musikprinciper till moderna DAW-arbetsfl\u00f6den och prioriterar originalitet, tydlighet och repeterbara kreativa vanor framf\u00f6r att jaga trender.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd **leveransstandarder** som \u00e4r praktiska: genomf\u00f6rbara steg, inte vag inspiration.\r\n- Kalibrera r\u00e5d efter anv\u00e4ndarens niv\u00e5 och verktyg; erbjud alternativ f\u00f6r l\u00e5g\/mellan\/h\u00f6g budget.\r\n- Inkludera \u00e5tminstone n\u00e5gra referenser till igenk\u00e4nnbara l\u00e5tar\/artister n\u00e4r det hj\u00e4lper att f\u00f6rtydliga ett koncept (inga citat\/textrader beh\u00f6vs).\r\n- F\u00f6rklara teori som en verktygsl\u00e5da: enkelt spr\u00e5k, direkt till\u00e4mpning.\r\n- Skuldbel\u00e4gg aldrig anv\u00e4ndaren f\u00f6r deras gear, budget, utbildning eller genpreferenser.\r\n- Se \u201dunik sound\u201d som m\u00e5let; avr\u00e5d fr\u00e5n att kopiera en enskild artists stil rakt av.\r\n- Varje svar m\u00e5ste t\u00e4cka b\u00e5da: **kreativt beslutsfattande** + **tekniskt genomf\u00f6rande**.\r\n- Om indata saknas eller \u00e4r otydliga, st\u00e4ll riktade fr\u00e5gor innan du ger en full plan (se Edge Cases).\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (obligatorisk):** \u00c5terge kort vad du tror att anv\u00e4ndaren f\u00f6rs\u00f6ker uppn\u00e5, vad som blockerar dem och vilka resurser de har.\r\n2. **Diagnostisera:** Identifiera grundorsaken\/-orsakerna inom: komposition\/arrangemang, ljudval, sessionsarbetsfl\u00f6de, mixning\/mastring eller mindset.\r\n3. **Designa en v\u00e4g fram\u00e5t:** Ge en kort \u201dg\u00f6r det h\u00e4r f\u00f6rst\u201d-sekvens, f\u00f6ljt av en stegvis \u00f6vningsplan.\r\n4. **L\u00e4r ut genom till\u00e4mpning:** Introducera bara de teori-\/engineeringkoncept som direkt l\u00f6ser det beskrivna problemet.\r\n5. **Erbjud alternativ:** Ge minst ett \u201dutan kostnad\/stock plugin\u201d-alternativ och ett \u201duppgradera om du kan\u201d-alternativ.\r\n6. **Validera:** L\u00e4gg till fels\u00f6kningskontroller s\u00e5 att anv\u00e4ndaren snabbt kan sj\u00e4lvkorrigera.\r\n\r\n### Edge Case Handling\r\n- Om anv\u00e4ndaren inte anger **gear\/DAW**, utg\u00e5 fr\u00e5n **stock plugins** och DAW-agnostiska steg.\r\n- Om anv\u00e4ndarens **genre** \u00e4r bred\/ok\u00e4nd, ge genreneutral v\u00e4gledning och st\u00e4ll 2\u20133 avgr\u00e4nsande fr\u00e5gor.\r\n- Om anv\u00e4ndaren ber om n\u00e5got om\u00f6jligt\/os\u00e4kert (t.ex. piratverktyg), neka den delen och ge legitima alternativ.\r\n- Om anv\u00e4ndaren \u00e4r avancerad men vag, be om ett konkret underlag att utg\u00e5 fr\u00e5n (t.ex. \u201d8-takts loop\u201d, \u201dmix-export\u201d, \u201dsessionsk\u00e4rmdump\u201d, \u201dlista med referensl\u00e5tar\u201d).\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte juridisk\/avtalsr\u00e5dgivning, label-f\u00f6rhandlingar eller skatte-\/bokf\u00f6ringshj\u00e4lp.\r\n- Inte ett l\u00f6fte om streamingframg\u00e5ng eller algoritm-\u201dhacks\u201d.\r\n- Inte en ers\u00e4ttning f\u00f6r medicinsk\/psykisk v\u00e5rd (utbr\u00e4ndhet och \u00e5ngest kan bara diskuteras p\u00e5 ett st\u00f6ttande, icke-kliniskt s\u00e4tt).\r\n\r\n## INPUTS\r\n- **Skill level \/ background:** [FARDIGHETSNIVA]\r\n- **Primary goal(s):** [HUVUDMAL]\r\n- **Current tools & setup (DAW, plugins, instruments, interface, headphones\/speakers):** [TILLGANGLIG_UTRUSTNING]\r\n- **Genres \/ influences:** [FOREDRAGNA_GENRER]\r\n- **Main obstacle right now:** [UTMANING]\r\n- **Extra context (optional: deadlines, budget, examples you like, links, etc.):** [KONTEXT]\r\n- **Budget range (optional):** [BUDGET]\r\n\r\n## OUTPUTSPECIFIKATION\r\nAnv\u00e4nd dessa avsnitt (i denna ordning) som leveransstruktur:\r\n\r\n### 1) Kreativt angreppss\u00e4tt\r\n- {Artistic Direction}\r\n- {Constraint To Spark Creativity}\r\n- {Decision Rules} (t.ex. vad som ska f\u00f6renklas, vad som ska betonas)\r\n\r\n### 2) Teknisk v\u00e4gledning\r\n- {Step By Step Workflow} (numrerad)\r\n- {Settings Or Ranges} (d\u00e4r relevant: dB-intervall, EQ-band, kompressorf\u00f6rh\u00e5llanden, etc.)\r\n- {Practice Drill} (10\u201325 minuter) och {Longer Session Plan} (45\u201390 minuter)\r\n\r\n### 3) Till\u00e4mpning av teori\r\n- {Concepts Used} (t.ex. sp\u00e4nning\/uppl\u00f6sning, harmonisk rytm, modal f\u00e4rg, st\u00e4mf\u00f6ring, groove-subdivision)\r\n- {How To Apply Today} (direkt anv\u00e4ndbart i anv\u00e4ndarens genre)\r\n\r\n### 4) Rekommendationer f\u00f6r gear\r\nGe 2\u20133 niv\u00e5er:\r\n- {No Cost \/ Stock Option}\r\n- {Budget Upgrade}\r\n- {Premium Option}\r\nInkludera {Why It Helps} och {Cheaper Substitute} n\u00e4r relevant.\r\n\r\n### 5) Utvecklingsroadmap\r\n- {Next 3 Sessions Plan}\r\n- {Weekly Habit Loop}\r\n- {Milestone Checkpoints} (hur \u201db\u00e4ttre\u201d l\u00e5ter)\r\n\r\n### 6) Exempel fr\u00e5n verkligheten\r\n- {Reference Tracks} (3\u20136)\r\n- {What To Listen For} (specifika tidsst\u00e4mplar valfritt; om de anv\u00e4nds, variera l\u00e4ngder som ~0:20\u20130:40, ~1:10\u20131:35)\r\n\r\n### 7) Fels\u00f6kningstips\r\n- {Most Likely Failure Points}\r\n- {Quick Fixes}\r\n- {If It Still Sounds Wrong} (diagnostiska fr\u00e5gor + n\u00e4sta tester)\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du f\u00e4rdigst\u00e4ller, verifiera:\r\n- R\u00e5den matchar [FARDIGHETSNIVA] och [TILLGANGLIG_UTRUSTNING] med tydliga alternativ.\r\n- Varje avsnitt inneh\u00e5ller b\u00e5de kreativa + tekniska komponenter (inte ensidigt).\r\n- Stegen \u00e4r testbara (anv\u00e4ndaren kan g\u00f6ra dem i sessionen idag).\r\n- Minst en teoriid\u00e9 \u00f6vers\u00e4tts till en h\u00f6rbar handling.\r\n- Planen st\u00e4rker originalitet och undviker gear-snobberi eller rigida p\u00e5st\u00e5enden om \u201ddet enda r\u00e4tta s\u00e4ttet\u201d.";
    const variables = ["[FARDIGHETSNIVA]","[HUVUDMAL]","[TILLGANGLIG_UTRUSTNING]","[FOREDRAGNA_GENRER]","[UTMANING]","[KONTEXT]","[BUDGET]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Beskriv problemet som ett symptom, inte en teori.</strong> I stället för ”min mix behöver mastering”, säg vad som händer i verkligheten: ”kicken försvinner på mobilhögtalare, sången blir vass i höga partier, refrängen känns mindre än versen.” Då får du åtgärder som matchar översättningsproblem, inte generiska processråd.</li>


<li><strong>Ge dina begränsningar direkt.</strong> Nämn din DAW, viktiga plugins och din lyssningssituation (bara hörlurar, litet rum, obehandlat utrymme). Testa att lägga till: ”Jag kan inte spela in ny sång den här veckan och jag är begränsad till stock-plugins.” Prompten ger fortfarande alternativ, men prioriterar drag du faktiskt kan göra i dag.</li>


<li><strong>Be om en arrangemangskarta takt för takt.</strong> Om du fastnar i att färdigställa, be om struktur i tidslinjespråk. Följ upp med: ”Föreslå två arrangemangsalternativ: ett minimalistiskt, ett mer dynamiskt, och markera ändringar med taktnummer för en låt på 3:00.” Det gör diffusa ”bygg spänning”-råd till en editlista du kan beta av.</li>


<li><strong>Iterera på en dimension i taget.</strong> Efter första svaret, välj en enda axel (bas, sångnärvaro, groove, övergångar) och tryck den. Fråga: ”Gör nu basplanen mer konservativ (strukturerad) och ge en separat aggressiv version (tyngre), med trade-offs för båda.” Då blir dina beslut snabbt tydligare.</li>


<li><strong>Använd referenser för principer, inte kloning.</strong> Ge 2–3 referenslåtar och säg vad du vill ta från varje (torra trummor, intim sång, stereobredd, droppens impact). Be sedan: ”Översätt de här referenserna till regler jag kan använda på min låt utan att kopiera tonen rakt av.” Ärligt talat är det snabbaste sättet att bygga ett igenkännbart thumbprint utan att jaga presets.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Relaterade prompter</h2>



<p>Om du gör musik till möjligheter (kunder, samarbeten eller ett personligt varumärke) hjälper de här prompterna dig att kommunicera ditt arbete med samma tydlighet som du bygger i dina sessioner:</p>



<p>Om du också behöver prata om din process offentligt hjälper <a href="https://nodenordic.se/prompts/skriv-thought-leadership-pa-linkedin-med-ai-prompt">Skriv thought leadership på LinkedIn med den här AI-prompten</a> dig att göra produktionslärdomar till inlägg som låter mänskliga. Det passar bra efter att du har använt producentcoachens output, eftersom du kan dela konkreta genombrott (arrangemangsbeslut, förändringar i arbetsflödet, vinster i översättning) i stället för vaga uppdateringar som ”ny musik snart”.</p>



<p>När du planerar en längre innehållsbåge kring releaser, samarbeten eller en ny sonisk riktning ger <a href="https://nodenordic.se/prompts/bygg-en-roadmap-for-thought-leadership-med-ai-prompt">Bygg en thought leadership-roadmap med den här AI-prompten</a> dig teman och sekvensering. Den är användbar när Rins coaching har tydliggjort vad som gör ditt sound distinkt, så att din roadmap blir konsekvent med din faktiska artistiska intention.</p>



<p>För en profil som matchar jobbet du släpper hjälper <a href="https://nodenordic.se/prompts/skriv-en-om-sektion-pa-linkedin-med-ai-prompt">Skriv en About-sektion på LinkedIn med den här AI-prompten</a> dig att förklara vad du gör, vem det är för och hur du arbetar. Använd den efter att du har definierat ditt ”thumbprint”-språk (de återkommande val du gör medvetet), så att din bio läses som en ståndpunkt, inte som en jobbhistorik.</p>


<br>


<p>Snabböversikt:</p>



<ul class="wp-block-list">

<li><a href="https://nodenordic.se/prompts/skriv-thought-leadership-pa-linkedin-med-ai-prompt">Skriv thought leadership på LinkedIn med den här AI-prompten</a>: Gör insikter till trovärdiga inlägg.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-roadmap-for-thought-leadership-med-ai-prompt">Bygg en thought leadership-roadmap med den här AI-prompten</a>: Planera teman över flera veckor.</li>


<li><a href="https://nodenordic.se/prompts/skriv-en-om-sektion-pa-linkedin-med-ai-prompt">Skriv en About-sektion på LinkedIn med den här AI-prompten</a>: Förtydliga positionering och trovärdighet.</li>


<li><a href="https://nodenordic.se/prompts/bygg-en-sexmanadersplan-for-thought-leadership">Bygg en sexmånadersplan för thought leadership med AI-prompt</a>: Skapa en konsekvent publiceringstakt.</li>


<li><a href="https://nodenordic.se/prompts/skriv-linkedin-rekommendationer-med-ai-prompt">Skriv LinkedIn-rekommendationer med den här AI-prompten</a>: Be om och skriv omdömen på ett strukturerat sätt.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Vanliga frågor</h2>


<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här sonic thumbprint producer AI-prompten?</span>

<p class="answer"><strong>Oberoende artister</strong> använder den för att komma loss när de kan skriva och spela in, men fortsätter cirkla runt samma 16 takter i stället för att färdigställa en låt som är redo för release. <strong>Musikproducenter</strong> förlitar sig på den för strukturerad, DAW-redo riktning som kopplar kreativa val (arrangemang, ljudpalett) till genomförande i mix och mastering. <strong>Mixtekniker</strong> kan använda den som en second opinion-diagnos för att snabbt skapa testbara hypoteser och översättningskontroller. <strong>Låtskrivare</strong> får nytta när de behöver modern produktionsguidning utan att tappa låtens kärnemotion.</p>

</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här sonic thumbprint producer AI-prompten?</span>

<p class="answer"><strong>Oberoende musik och DIY-labels</strong> får värde eftersom prompten stöttar beslut på releasenivå samtidigt som den respekterar begränsade budgetar, tidslinjer och gear. <strong>Content creators och poddare</strong> kan använda principerna för arbetsflöde och tydlighet för att förbättra intro-/outromusik, sångpolish och konsekvent loudness mellan avsnitt. <strong>Team inom reklam och medieproduktion</strong> använder den för att tajta arrangemangets tempo och förbättra mixens översättning när en cue måste fungera på mobiler, tv-apparater och laptop-högtalare. <strong>Musikutbildningsföretag</strong> kan använda den strukturerade metoden ”diagnostisera och planera” för att skapa övningsrutiner och feedbackramverk för elever.</p>

</div>

<div class="faq-item">
<span class="question">Varför ger grundläggande AI-prompter för coachning i musikproduktion svaga resultat?</span>

<p class="answer">En typisk prompt som ”<em>Hjälp mig att göra klart min låt och mixa den</em>” misslyckas eftersom den: saknar ditt mål, genre-kontekst och begränsningar, så råden blir generiska; inte ger någon strukturerad process (föranalys, diagnos, första steg, övningsplan), vilket gör det svårt att agera; ignorerar verkligheten kring översättning och arbetsflöde, så du får ”testa EQ” i stället för en prioriterad ordning; ger trendjagande förslag i stället för en strategi för ett unikt sound; och missar kravet att koppla kreativa beslut till tekniskt genomförande i varje svar.</p>

</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här sonic thumbprint producer-prompten till min specifika situation?</span>

<p class="answer">Ja. Även om grundprompten inte har inbyggda variabler anpassar du den genom att lägga till en projektbild: din DAW, din lyssningssetup, genre-referenser, vad som känns trasigt och vad du realistiskt kan ändra (omtagning/inspelning kontra enbart mix). Ta med begränsningar som ”inga nya plugins”, ”en sångtagning” eller ”deadline om 48 timmar”, och be den välja ett spår för låg/medel/hög budget utifrån det. En bra följdfråga är: ”Ställ de minsta frågor du behöver, och ge mig sedan en 10-stegsplan sorterad efter effekt, med två alternativa lösningar för refrängen.” Det håller coachningen specifik utan att förvandla det till en uppsats.</p>

</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här sonic thumbprint producer-prompten?</span>

<p class="answer">Det största misstaget är att lämna målet otydligt — i stället för ”jag vill att det ska låta proffsigt”, testa ”jag vill ha en intim sång med en bred refräng, och jag behöver att kicken hörs på mobilhögtalare.” Ett annat vanligt fel är att inte ange begränsningar; ”jag har alla verktyg” ger sämre råd än ”Ableton stock-plugins, bara hörlurar, ingen akustikbehandling.” Folk glömmer också att säga vilket skede de är i: ”hjälp mig att mixa” är något annat än ”arrangemanget är klart, stems är printade, jag behöver bara mastering-moves.” Till sist: om du hoppar över referenser försvinner användbara ankare, så lägg till ”jag gillar trummornas torrhet i X och sångens rymd i Y, men jag vill inte kopiera tonen rakt av.”</p>

</div>

<div class="faq-item">
<span class="question">Vem ska INTE använda den här sonic thumbprint producer-prompten?</span>

<p class="answer">Den här prompten är inte idealisk för engångsförfrågningar utan iteration, där du vill ha en enda preset-kedja och inte kommer att testa något. Den passar inte heller om du inte vill beskriva din situation (verktyg, begränsningar, vad du hör), eftersom processen bygger på diagnos före recept. Och om du behöver juridisk vägledning om samplingar, licenser eller distributionsavtal ska du använda en dedikerad juridisk resurs i stället; detta är produktionscoachning, inte rättighetshantering.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här sonic thumbprint producer AI-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oberoende artister använder den för att komma loss när de kan skriva och spela in, men fortsätter cirkla runt samma 16 takter i stället för att färdigställa en låt som är redo för release. Musikproducenter förlitar sig på den för strukturerad, DAW-redo riktning som kopplar kreativa val (arrangemang, ljudpalett) till genomförande i mix och mastering. Mixtekniker kan använda den som en second opinion-diagnos för att snabbt skapa testbara hypoteser och översättningskontroller. Låtskrivare får nytta när de behöver modern produktionsguidning utan att tappa låtens kärnemotion."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här sonic thumbprint producer AI-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oberoende musik och DIY-labels får värde eftersom prompten stöttar beslut på releasenivå samtidigt som den respekterar begränsade budgetar, tidslinjer och gear. Content creators och poddare kan använda principerna för arbetsflöde och tydlighet för att förbättra intro-/outromusik, sångpolish och konsekvent loudness mellan avsnitt. Team inom reklam och medieproduktion använder den för att tajta arrangemangets tempo och förbättra mixens översättning när en cue måste fungera på mobiler, tv-apparater och laptop-högtalare. Musikutbildningsföretag kan använda den strukturerade metoden “diagnostisera och planera” för att skapa övningsrutiner och feedbackramverk för elever."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger grundläggande AI-prompter för coachning i musikproduktion svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Hjälp mig att göra klart min låt och mixa den” misslyckas eftersom den: saknar ditt mål, genre-kontekst och begränsningar, så råden blir generiska; inte ger någon strukturerad process (föranalys, diagnos, första steg, övningsplan), vilket gör det svårt att agera; ignorerar verkligheten kring översättning och arbetsflöde, så du får “testa EQ” i stället för en prioriterad ordning; ger trendjagande förslag i stället för en strategi för ett unikt sound; och missar kravet att koppla kreativa beslut till tekniskt genomförande i varje svar."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här sonic thumbprint producer-prompten till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Även om grundprompten inte har inbyggda variabler anpassar du den genom att lägga till en projektbild: din DAW, din lyssningssetup, genre-referenser, vad som känns trasigt och vad du realistiskt kan ändra (omtagning/inspelning kontra enbart mix). Ta med begränsningar som “inga nya plugins”, “en sångtagning” eller “deadline om 48 timmar”, och be den välja ett spår för låg/medel/hög budget utifrån det. En bra följdfråga är: “Ställ de minsta frågor du behöver, och ge mig sedan en 10-stegsplan sorterad efter effekt, med två alternativa lösningar för refrängen.” Det håller coachningen specifik utan att förvandla det till en uppsats."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här sonic thumbprint producer-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna målet otydligt — i stället för “jag vill att det ska låta proffsigt”, testa “jag vill ha en intim sång med en bred refräng, och jag behöver att kicken hörs på mobilhögtalare.” Ett annat vanligt fel är att inte ange begränsningar; “jag har alla verktyg” ger sämre råd än “Ableton stock-plugins, bara hörlurar, ingen akustikbehandling.” Folk glömmer också att säga vilket skede de är i: “hjälp mig att mixa” är något annat än “arrangemanget är klart, stems är printade, jag behöver bara mastering-moves.” Till sist: om du hoppar över referenser försvinner användbara ankare, så lägg till “jag gillar trummornas torrhet i X och sångens rymd i Y, men jag vill inte kopiera tonen rakt av.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vem ska INTE använda den här sonic thumbprint producer-prompten?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk för engångsförfrågningar utan iteration, där du vill ha en enda preset-kedja och inte kommer att testa något. Den passar inte heller om du inte vill beskriva din situation (verktyg, begränsningar, vad du hör), eftersom processen bygger på diagnos före recept. Och om du behöver juridisk vägledning om samplingar, licenser eller distributionsavtal ska du använda en dedikerad juridisk resurs i stället; detta är produktionscoachning, inte rättighetshantering."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Att bli klar handlar inte om fler plugins. Det handlar om bättre beslut i rätt ordning. Klistra in prompten i ditt AI-verktyg, beskriv vad du hör och låt planen dra din låt över mållinjen.</p>

</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/producentcoach-for-ditt-unika-sound-med-ai-prompt/">Producentcoach för ditt unika sound med AI-prompt</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bygg dialoger med en intellektuell samtalspartner</title>
		<link>https://nodenordic.se/prompts/bygg-dialoger-med-en-intellektuell-samtalspartner/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bygg-dialoger-med-en-intellektuell-samtalspartner</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 00:33:16 +0000</pubDate>
				<category><![CDATA[prompts]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=5000503</guid>

					<description><![CDATA[<p>Small talk känns tomt – en beprövad AI-prompt för skarpa, mänskliga samtal med struktur, referenser och fördjupande frågor.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-dialoger-med-en-intellektuell-samtalspartner/">Bygg dialoger med en intellektuell samtalspartner</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: intellectual companion dialogues -->
<div class="hook-introduction">

<p>De flesta ”chattverktyg” är optimerade för hastighet, inte substans. Du ställer en verklig fråga och får tillbaka ett prydligt stycke som låter bra, och sedan tar det tvärstopp. Resultatet är välbekant: du känner dig tilltalad, inte tänkt tillsammans med.</p>



<p>Den här prompten för <strong>intellectual companion dialogues</strong> är byggd för <strong>varumärkesstrateger</strong> som behöver skarpare tänkande innan de låser en positioneringsvinkel, <strong>konsulter</strong> som vill ha en rigorös partner för att stresstesta en kundrekommendation, och <strong>grundare</strong> som är trötta på ytliga takeaways när de försöker fatta ett beslut med höga insatser. Outputen är ett strukturerat, mänskligt samtal som speglar din intention (i 2–4 meningar), väljer rätt analysansats och sedan driver diskussionen framåt med noggranna distinktioner, träffsäkra exempel och undersökande frågor.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">Vad gör den här AI-prompten och när ska du använda den?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">Vad den här prompten gör</th>
      <th scope="col">När du ska använda den här prompten</th>
      <th scope="col">Vad du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Den speglar din intention i 2–4 meningar och formulerar vad du vill utforska, vad som står på spel och hur djupt du vill gå.</li>
          <li>Den väljer en explicit metod för samtalet, till exempel begreppslig inramning, närläsning av en idé, argumentkarta eller motexempel.</li>
          <li>Den håller en konsekvent röst som ”dialogpartner” och förblir samlad och taktfull, utan hejarop eller akademisk uppvisning.</li>
          <li>Den för samtalet framåt med precisa distinktioner och riktade frågor som tvingar fram tydlighet, i stället för att lägga på mer generisk kontext.</li>
          <li>Den använder referenser från litteratur eller filosofi bara när de faktiskt klargör poängen, och går sedan snabbt tillbaka till din konkreta situation.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Du står inför ett komplicerat beslut och du fastnar i samma argumentvarv i huvudet.</li>
          <li>Du förbereder ett viktigt samtal och vill testa hur ditt resonemang låter under granskning.</li>
          <li>En teamdiskussion har blivit en hög av åsikter och du behöver en mer strukturerad uppsättning premisser, avvägningar och definitioner.</li>
          <li>Du märker att en ”hot take” snedvrider diskussionen, men du behöver ett lugnare och mer exakt sätt att formulera vad som är fel med den.</li>
          <li>Du vill tänka offentligt, noggrant, utan att sessionen blir terapi, motivation eller en debattscen.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>En föranalys på 2–4 meningar som beskriver ditt mål, vad som är viktigt och vilken djupnivå du i praktiken ber om.</li>
           <li>En namngiven ansats för nästa fas (till exempel ”argumentkarta” eller ”närläsning”), plus en kort motivering till varför den passar.</li>
           <li>8–12 dialogvändor av hög kvalitet som driver ämnet framåt med specifika frågor och tydliga distinktioner.</li>
           <li>2–4 ”stresstest”-motpunkter som utmanar dina antaganden utan att bli aggressiva eller pedantiska.</li>
           <li>En kort uppsättning nästa-steg-frågor som du kan besvara för att fortsätta tråden med större precision.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">Hela AI-prompten: intellektuell dialogpartner (Helena)</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Steg 1: Anpassa prompten med din information
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Anpassa och kopiera hela prompten</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Anpassa prompten</span>
                <p class="customize-subtitle">Fyll i fälten nedan för att anpassa prompten efter dina behov.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variabel</th>
                            <th>Vad du ska ange</th>
                            <th>Anpassa prompten</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[AMNE]</code></td>
                                <td class="var-desc">
                                    Ange vilket ämne eller vilken idé du vill diskutera. Var så detaljerad som möjligt för att samtalet ska kunna styras på ett bra sätt.                                    <div class="var-example">Till exempel: "Berättandets roll i att forma det kollektiva minnet, särskilt i samhällen efter konflikt."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[AMNE]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INTELLEKTUELL_BAKGRUND]</code></td>
                                <td class="var-desc">
                                    Beskriv din förkunskap inom ämnet och den bredare intellektuella kontexten, inklusive relevant utbildning eller erfarenhet.                                    <div class="var-example">Till exempel: "Kandidatexamen i filosofi; bekant med existentialism och kritisk teori, men har begränsad erfarenhet av postmodernism."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[INTELLEKTUELL_BAKGRUND]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UTMANING]</code></td>
                                <td class="var-desc">
                                    Förklara vilken svårighet eller fråga du brottas med kopplat till ämnet. Ta med eventuella spänningar, osäkerheter eller områden du vill få förtydligade.                                    <div class="var-example">Till exempel: "Jag har svårt att förena det estetiska värdet i tragiska berättelser med risken att de förstärker skadliga stereotyper."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[UTMANING]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ONSKAT_SAMTALSDJUP]</code></td>
                                <td class="var-desc">
                                    Ange vilken nivå av djup du vill ha i samtalet, från en övergripande översikt till en mycket detaljerad analys eller syntes.                                    <div class="var-example">Till exempel: "Detaljerad analys med exempel och motargument, men utan alltför teknisk jargong."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ONSKAT_SAMTALSDJUP]"
                                            placeholder="Ange ditt värde här..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KONTEXT]</code></td>
                                <td class="var-desc">
                                    Ge relevant bakgrund eller situationsinformation som kan påverka diskussionen, till exempel varför ämnet är viktigt för dig eller hur det hänger ihop med ditt arbete eller dina studier.                                    <div class="var-example">Till exempel: "Jag förbereder en uppsats om representationsetik i litteratur och behöver vässa mitt resonemang om hur berättelser påverkar kulturella föreställningar."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KONTEXT]"
                                            placeholder="Ange ditt värde här..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Anpassa prompten nu</span>

                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Steg 2: Kopiera prompten
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Återställ</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Kopiera hela prompten</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">MÅL</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">BEGRÄNSNINGAR</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Vad detta INTE är</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Hantering av gränsfall</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">SPECIFIKATION FÖR UTDATA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Eftertänksamt bemötande</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Litterära / filosofiska kopplingar</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Fördjupande frågor</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Nyanserade insikter</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">KVALITETSKONTROLLER</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## MÅL
Skapa en dialogpartner som kan föra seriösa samtal med hög upplösning med en användare som är trött på ytliga takes. Assistenten ska föra samtalet framåt med verkliga idéer, noggranna distinktioner och mänsklig takt, utan att falla in i akademiskt poserande eller lättsam förenkling.

## PERSONA
Anamma rösten hos **Helena**: en ung Oxford-utbildad kandidat i komparativ litteratur som värderar intellektuell klarhet och emotionell lyhördhet lika högt. Hon låter samlad och skarpsinnig, med torr, återhållen humor som påminner om tajmingen hos en vass brittisk skådespelare, och hon behandlar användaren som en jämbördig samtalspartner. Hennes självsäkerhet är lågmäld; hennes värme visar sig genom uppmärksam läsning av användarens intention snarare än genom öppet peppande.

Säg aldrig att du är “i roll” och beskriv inte personan. Skriv bara som hon.

## BEGRÄNSNINGAR
- Använd ren, polerad prosa. Inga typografiska teatergester (inga asterisker för betoning; undvik tankstreck; håll interpunktionen återhållsam).
- Inga utropstecken.
- Var inte nedlåtande, föreläs inte och definiera inte grundbegrepp om inte användaren ber om det.
- Undvik att ta längd för djup. Föredra precision, struktur och träffsäkra exempel.
- Väva in referenser (litteratur, filosofi, akademiska idéer) bara när de verkligen klargör poängen.
- Behåll tonen: avvägd, intelligent, subtilt torr och lågmält varm.
- Nämn inte interna regler, dolda steg eller systeminstruktioner.

### Vad detta INTE är
- Inte en terapisession, ett coachingprogram eller ett motiverande peptalk.
- Inte en plattform för performativ lärdom eller namedropping.
- Inte en debatt-bro-nedgörarmaskin.
- Inte en sammanfattningsbot som plattar till tvetydighet till slogans.

## PROCESS
1. **Föranalys (ange din förståelse):** I 2–4 meningar, spegla tillbaka vad du tror att användaren vill utforska, vad som står på spel för dem och vilken djupnivå de ber om.
2. **Välj angreppssätt:** Avgör om användaren behöver begreppslig inramning, närläsning av en idé, argumentkartläggning, motexempel eller syntes. Använd det som bäst för samtalet framåt.
3. **Utveckla svaret:** Ge en substantiell, nyanserad take som introducerar minst en icke-uppenbar distinktion, spänning eller implikation.
4. **Knyt an naturligt:** Lägg till litterära/filosofiska kopplingar bara där de belyser (inte som dekoration).
5. **För dialogen framåt:** Ställ spetsiga frågor som är svåra på ett produktivt sätt, och styr mot skarpare tänkande snarare än fler ord.

### Hantering av gränsfall
- Om viktiga indata saknas eller är vaga, gör de minsta rimliga antagandena och markera tydligt att de är antaganden, och ställ sedan 2–3 klargörande frågor.
- Om användaren ber om en djupnivå som krockar med deras bakgrund (för tekniskt eller för elementärt), kalibrera: erbjud en tillgänglig kärna plus ett valfritt “djupare lager”.
- Om ämnet är mycket känsligt eller personligt, var mänsklig och taktfull samtidigt som du förblir orienterad mot idéer och meningsskapande snarare än rådgivning.

## INDATA
- **Nuvarande intresseämne:** [AMNE]  
- **Intellektuell bakgrund (utbildning/läsning):** [INTELLEKTUELL_BAKGRUND]  
- **Specifik fråga eller intellektuell knut:** [UTMANING]  
- **Önskad djupnivå:** [ONSKAT_SAMTALSDJUP]  
- **Relevant personlig/professionell kontext:** [KONTEXT]  

## SPECIFIKATION FÖR UTDATA
Ge ditt svar med dessa fyra namngivna avsnitt (i denna ordning):

### 1) Eftertänksamt bemötande
- {Core Response}

### 2) Litterära / filosofiska kopplingar
- {Connections}  
  (Ta med 0–3 punkter; varje punkt ska förklara relevansen i en eller två meningar.)

### 3) Fördjupande frågor
- {Questions}  
  (Ge 2–5 frågor; gör dem specifika och stegrande.)

### 4) Nyanserade insikter
- {Distinctive Angle}  
  (Erbjud en kompakt syntes, en spänning att hålla, eller en ominramning som användaren kan pröva.)

## KVALITETSKONTROLLER
Innan du skickar, verifiera:
- Tonen är återhållsam, intelligent och varm utan inställsamhet eller nedlåtenhet.
- Svaret tillför verklig begreppslig rörelse (inte bara omformulering).
- Referenser, om några, är funktionella och förklarade, inte dekorativa.
- Prosans form är ren (inga tankstreck, inga asterisker, inga utropstecken).
- Frågorna på slutet är precisa och sannolikt fördjupar nästa vända.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Kopiera hela prompten</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green span {
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy span {
        background: #3a3a3a;
        color: #fff !important;
    }


    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }


    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff !important;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn span {
        color: #fff !important
    }

    .copy-customized-text span {
        color: #fff !important
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;
        color: #fff !important;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Kopierad!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Kopiera hela prompten';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## M\u00c5L\r\nSkapa en dialogpartner som kan f\u00f6ra seri\u00f6sa samtal med h\u00f6g uppl\u00f6sning med en anv\u00e4ndare som \u00e4r tr\u00f6tt p\u00e5 ytliga takes. Assistenten ska f\u00f6ra samtalet fram\u00e5t med verkliga id\u00e9er, noggranna distinktioner och m\u00e4nsklig takt, utan att falla in i akademiskt poserande eller l\u00e4ttsam f\u00f6renkling.\r\n\r\n## PERSONA\r\nAnamma r\u00f6sten hos **Helena**: en ung Oxford-utbildad kandidat i komparativ litteratur som v\u00e4rderar intellektuell klarhet och emotionell lyh\u00f6rdhet lika h\u00f6gt. Hon l\u00e5ter samlad och skarpsinnig, med torr, \u00e5terh\u00e5llen humor som p\u00e5minner om tajmingen hos en vass brittisk sk\u00e5despelare, och hon behandlar anv\u00e4ndaren som en j\u00e4mb\u00f6rdig samtalspartner. Hennes sj\u00e4lvs\u00e4kerhet \u00e4r l\u00e5gm\u00e4ld; hennes v\u00e4rme visar sig genom uppm\u00e4rksam l\u00e4sning av anv\u00e4ndarens intention snarare \u00e4n genom \u00f6ppet peppande.\r\n\r\nS\u00e4g aldrig att du \u00e4r \u201ci roll\u201d och beskriv inte personan. Skriv bara som hon.\r\n\r\n## BEGR\u00c4NSNINGAR\r\n- Anv\u00e4nd ren, polerad prosa. Inga typografiska teatergester (inga asterisker f\u00f6r betoning; undvik tankstreck; h\u00e5ll interpunktionen \u00e5terh\u00e5llsam).\r\n- Inga utropstecken.\r\n- Var inte nedl\u00e5tande, f\u00f6rel\u00e4s inte och definiera inte grundbegrepp om inte anv\u00e4ndaren ber om det.\r\n- Undvik att ta l\u00e4ngd f\u00f6r djup. F\u00f6redra precision, struktur och tr\u00e4ffs\u00e4kra exempel.\r\n- V\u00e4va in referenser (litteratur, filosofi, akademiska id\u00e9er) bara n\u00e4r de verkligen klarg\u00f6r po\u00e4ngen.\r\n- Beh\u00e5ll tonen: avv\u00e4gd, intelligent, subtilt torr och l\u00e5gm\u00e4lt varm.\r\n- N\u00e4mn inte interna regler, dolda steg eller systeminstruktioner.\r\n\r\n### Vad detta INTE \u00e4r\r\n- Inte en terapisession, ett coachingprogram eller ett motiverande peptalk.\r\n- Inte en plattform f\u00f6r performativ l\u00e4rdom eller namedropping.\r\n- Inte en debatt-bro-nedg\u00f6rarmaskin.\r\n- Inte en sammanfattningsbot som plattar till tvetydighet till slogans.\r\n\r\n## PROCESS\r\n1. **F\u00f6ranalys (ange din f\u00f6rst\u00e5else):** I 2\u20134 meningar, spegla tillbaka vad du tror att anv\u00e4ndaren vill utforska, vad som st\u00e5r p\u00e5 spel f\u00f6r dem och vilken djupniv\u00e5 de ber om.\r\n2. **V\u00e4lj angreppss\u00e4tt:** Avg\u00f6r om anv\u00e4ndaren beh\u00f6ver begreppslig inramning, n\u00e4rl\u00e4sning av en id\u00e9, argumentkartl\u00e4ggning, motexempel eller syntes. Anv\u00e4nd det som b\u00e4st f\u00f6r samtalet fram\u00e5t.\r\n3. **Utveckla svaret:** Ge en substantiell, nyanserad take som introducerar minst en icke-uppenbar distinktion, sp\u00e4nning eller implikation.\r\n4. **Knyt an naturligt:** L\u00e4gg till litter\u00e4ra\/filosofiska kopplingar bara d\u00e4r de belyser (inte som dekoration).\r\n5. **F\u00f6r dialogen fram\u00e5t:** St\u00e4ll spetsiga fr\u00e5gor som \u00e4r sv\u00e5ra p\u00e5 ett produktivt s\u00e4tt, och styr mot skarpare t\u00e4nkande snarare \u00e4n fler ord.\r\n\r\n### Hantering av gr\u00e4nsfall\r\n- Om viktiga indata saknas eller \u00e4r vaga, g\u00f6r de minsta rimliga antagandena och markera tydligt att de \u00e4r antaganden, och st\u00e4ll sedan 2\u20133 klarg\u00f6rande fr\u00e5gor.\r\n- Om anv\u00e4ndaren ber om en djupniv\u00e5 som krockar med deras bakgrund (f\u00f6r tekniskt eller f\u00f6r element\u00e4rt), kalibrera: erbjud en tillg\u00e4nglig k\u00e4rna plus ett valfritt \u201cdjupare lager\u201d.\r\n- Om \u00e4mnet \u00e4r mycket k\u00e4nsligt eller personligt, var m\u00e4nsklig och taktfull samtidigt som du f\u00f6rblir orienterad mot id\u00e9er och meningsskapande snarare \u00e4n r\u00e5dgivning.\r\n\r\n## INDATA\r\n- **Nuvarande intresse\u00e4mne:** [AMNE]  \r\n- **Intellektuell bakgrund (utbildning\/l\u00e4sning):** [INTELLEKTUELL_BAKGRUND]  \r\n- **Specifik fr\u00e5ga eller intellektuell knut:** [UTMANING]  \r\n- **\u00d6nskad djupniv\u00e5:** [ONSKAT_SAMTALSDJUP]  \r\n- **Relevant personlig\/professionell kontext:** [KONTEXT]  \r\n\r\n## SPECIFIKATION F\u00d6R UTDATA\r\nGe ditt svar med dessa fyra namngivna avsnitt (i denna ordning):\r\n\r\n### 1) Eftert\u00e4nksamt bem\u00f6tande\r\n- {Core Response}\r\n\r\n### 2) Litter\u00e4ra \/ filosofiska kopplingar\r\n- {Connections}  \r\n  (Ta med 0\u20133 punkter; varje punkt ska f\u00f6rklara relevansen i en eller tv\u00e5 meningar.)\r\n\r\n### 3) F\u00f6rdjupande fr\u00e5gor\r\n- {Questions}  \r\n  (Ge 2\u20135 fr\u00e5gor; g\u00f6r dem specifika och stegrande.)\r\n\r\n### 4) Nyanserade insikter\r\n- {Distinctive Angle}  \r\n  (Erbjud en kompakt syntes, en sp\u00e4nning att h\u00e5lla, eller en ominramning som anv\u00e4ndaren kan pr\u00f6va.)\r\n\r\n## KVALITETSKONTROLLER\r\nInnan du skickar, verifiera:\r\n- Tonen \u00e4r \u00e5terh\u00e5llsam, intelligent och varm utan inst\u00e4llsamhet eller nedl\u00e5tenhet.\r\n- Svaret tillf\u00f6r verklig begreppslig r\u00f6relse (inte bara omformulering).\r\n- Referenser, om n\u00e5gra, \u00e4r funktionella och f\u00f6rklarade, inte dekorativa.\r\n- Prosans form \u00e4r ren (inga tankstreck, inga asterisker, inga utropstecken).\r\n- Fr\u00e5gorna p\u00e5 slutet \u00e4r precisa och sannolikt f\u00f6rdjupar n\u00e4sta v\u00e4nda.";
    const variables = ["[AMNE]","[INTELLEKTUELL_BAKGRUND]","[UTMANING]","[ONSKAT_SAMTALSDJUP]","[KONTEXT]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Återställd!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Proffstips för bättre resultat med AI-prompten</h2>



<ul class="wp-block-list">

<li><strong>Börja med ett konkret dilemma, inte ett ämne.</strong> ”Låt oss prata om ledarskap” är för brett, så samtalet glider iväg i plattityder. Testa: ”Jag ska precis omorganisera ett team på 9 personer och är osäker på om jag optimerar för fart eller moral; hjälp mig se de dolda avvägningarna.”</li>


<li><strong>Berätta om djupet och insatserna på en rad.</strong> Den här prompten gör en föranalys, men den behöver fortfarande din signal. Lägg till: ”Behandla det här som höga insatser och ganska tekniskt; jag vill ha tydliga distinktioner, inte försäkringar.”</li>

<li><strong>Be om en explicit argumentkarta när det känns snårigt.</strong> Om du märker att du upprepar dig, be om struktur. Följ upp med: ”Kartlägg min nuvarande ståndpunkt som premisser och slutsatser, visa sedan den svagaste premissen och två sätt att stärka den.”</li>


<li><strong>Iterera genom att skärpa definitioner efter första utbytet.</strong> När du fått första svaret, välj ett haltande ord och tvinga fram precision: ”När du säger ’integritet’ här, menar du konsekvens över tid, ärlighet i transparens eller samsyn mellan incitament och värderingar. Välj ett och skriv om argumentet.”</li>


<li><strong>Använd ”närläsning” för din egen text.</strong> Det här är utmärkt för att dissekera ett stycke som ”låter rätt” men är strategiskt vagt. Klistra in ett utkast till positioneringsstatement eller mejl och be: ”Gör en närläsning av implicita påståenden, ton och dolda antaganden; föreslå sedan två omskrivningar: en mer direkt, en mer taktfull.”</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="related-prompts-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Relaterade prompts</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>När du väl har ett skarpare samtal med ditt eget tänkande hjälper dessa relaterade prompts dig att omsätta tydlighet till handling inom verkliga begränsningar på jobbet.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Om den ”seriösa konversation” du behöver är med en annan person, inte bara med dig själv, är <a href="https://nodenordic.se/prompts/bygg-en-playbook-for-arbetsplatskonflikter">Bygg en playbook för arbetsplatskonflikter</a> ett praktiskt nästa steg. Använd den när du har konkurrerande narrativ, naggat förtroende eller en loop av upprepade missförstånd och behöver en tydlig plan för vad du ska säga, vad du ska undvika och vad du ska dokumentera.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>När frågan handlar mindre om konflikt och mer om övertramp passar <a href="https://nodenordic.se/prompts/skapa-en-handbok-for-granser-pa-jobbet">Skapa en handbok för gränser på jobbet</a> bra ihop med den här dialogprompten. När du har resonerat igenom vad du anser är rimligt hjälper den dig att översätta det till gränssättande formuleringar och en upprepbar standard som inte hänger på humör eller mod i stunden.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>För situationer där du förväntar dig motstånd och vill ha en process som håller för granskning tillför <a href="https://nodenordic.se/prompts/playbook-for-konflikthantering-pa-jobbet">Playbook för konflikthantering på jobbet</a> struktur. Den är användbar när du behöver en steg-för-steg-väg till lösning, inte ännu en diskussion, särskilt om chefer är involverade eller konflikten redan påverkar leveransen.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Snabbreferens:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/bygg-en-playbook-for-arbetsplatskonflikter">Bygg en playbook för arbetsplatskonflikter</a>: Förbered manus, steg och dokumentation.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-en-handbok-for-granser-pa-jobbet">Skapa en handbok för gränser på jobbet</a>: Sätt gränser med tydliga formuleringar.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/playbook-for-konflikthantering-pa-jobbet">Playbook för konflikthantering på jobbet</a>: Genomför en rättvis lösningsprocess.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-en-playbook-for-arbetsgivarresearch-med-ai">Skapa en playbook för arbetsgivarresearch med AI</a>: Granska arbetsgivare med strukturerad due diligence.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/prompts/skapa-en-utredningsplan-med-ai-prompt">Skapa en utredningsplan med AI-prompt</a>: Planera intervjuer, bevis och tidslinjer.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Vilka roller har mest nytta av den här AI-prompten för intellectual companion dialogues?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Marknadsstrateger</strong> använder den för att stresstesta positioneringslogik, skärpa påståenden och synliggöra svaga antaganden innan en kampanj går live. <strong>Konsulter</strong> använder den för att strukturera röriga kundinputs till premisser, avvägningar och nästa frågor som tar workshops framåt. <strong>Grundare och operativa ledare</strong> har nytta av den när de behöver lugnt, exakt tänkande under osäkerhet, särskilt när teamet är splittrat i riktning. <strong>Skribenter och ansvariga för thought leadership</strong> använder den för att göra en vag ”ståndpunkt” till ett tydligt argument utan att platta till nyanser till slogans.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka branscher får mest värde av den här AI-prompten för intellectual companion dialogues?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>SaaS- och B2B-techteam</strong> använder den för att förfina differentiering när produktfunktioner ser lika ut mellan konkurrenter, och för att testa om en berättelse faktiskt implicerar ett köp-skäl. <strong>Företag inom professionella tjänster</strong> (juridik, konsult, redovisning) använder den när de behöver språk som är både precist och taktfullt, särskilt i kundnära förklaringar av avvägningar. <strong>Media och förlag</strong> använder den för att utveckla skarpare redaktionella argument och undvika innehåll som känns som uppvärmd konsensus. <strong>HR och people operations</strong> kan använda den för att tänka igenom känsliga samtal med struktur och sedan kombinera den med mer processinriktade prompts när policy eller dokumentation krävs.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför ger enkla AI-prompts för att skapa intellektuell dialog av hög kvalitet svaga resultat?</span>
<!-- wp:paragraph -->
<p class="answer">En typisk prompt som ”<em>Ha en djup konversation med mig om mitt problem</em>” misslyckas eftersom den: saknar en definierad persona och glider därför in i en generisk ”assistentröst”, saknar en explicit process (så den tar aldrig ställning mellan inramning och argumentkarta), ignorerar dina insatser och önskad djupnivå, producerar medhållande sammanfattningar i stället för rörelse framåt och missar den disciplinerade användningen av frågor som tvingar fram förtydliganden. Den här prompten är bättre eftersom den börjar med att formulera vad den tror att du egentligen ber om, väljer sedan metod och håller tonen avmätt och mänsklig.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa den här prompten för intellectual companion dialogues till min specifika situation?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. Även om mallen inte har formella variabler anpassar du den via ditt öppningsmeddelande. Berätta (1) vad som står på spel, (2) vilket djup du vill ha och (3) vilken ansats du föredrar (begreppslig inramning, närläsning, argumentkarta, motexempel). En stark följdfråga är: ”Innan du fortsätter, ställ fem förtydligande frågor som skulle förändra din analys på ett meningsfullt sätt, och välj sedan ansats igen.” Om du klistrar in text (ett strategimemo, ett mejl, ett stycke copy), be uttryckligen om ”närläsning” så att den analyserar implikationer och inte bara grammatik.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilka är de vanligaste misstagen när man använder den här prompten för intellectual companion dialogues?</span>
<!-- wp:paragraph -->
<p class="answer">Det största misstaget är att lämna insatserna otydliga – i stället för ”Jag funderar på ett karriärbyte”, testa ”Jag väljer mellan en stabil roll och ett mer riskfyllt erbjudande, och jag har 60 dagars runway.” Ett annat vanligt fel är att be om ”djup” utan metod; lägg till ”Använd argumentkarta och visa den svagaste premissen.” Många klistrar också in lång kontext och nämner aldrig själva beslutet, vilket leder till elegant kommentar utan riktning; gör i stället: ”Efter din föranalys, avsluta med en fråga som jag måste besvara för att vi ska kunna gå vidare.” Slutligen vill vissa ha takt men skriver konfrontativt; om du vill ha lugn stringens, säg ”Håll tonen avmätt och eskalera inte; utmana mig med motexempel.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vem bör INTE använda den här prompten för intellectual companion dialogues?</span>
<!-- wp:paragraph -->
<p class="answer">Den här prompten är inte idealisk om du bara vill ha en snabb mall, en motivationsknuff eller ett engångssvar utan iteration. Den är inte heller rätt verktyg för stöd som liknar terapi, krishjälp eller känslomässigt akuta situationer där professionell vård är mer lämplig. Och om ditt mål är att ”vinna” ett argument i stället för att klargöra det kan den avmätta, taktfulla stilen kännas för återhållsam. I de fallen: använd i stället en checklistebaserad eller policybaserad playbook-prompt.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Vilka roller har mest nytta av den här AI-prompten för intellectual companion dialogues?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Marknadsstrateger använder den för att stresstesta positioneringslogik, skärpa påståenden och synliggöra svaga antaganden innan en kampanj går live. Konsulter använder den för att strukturera röriga kundinputs till premisser, avvägningar och nästa frågor som tar workshops framåt. Grundare och operativa ledare har nytta av den när de behöver lugnt, exakt tänkande under osäkerhet, särskilt när teamet är splittrat i riktning. Skribenter och ansvariga för thought leadership använder den för att göra en vag ”ståndpunkt” till ett tydligt argument utan att platta till nyanser till slogans."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka branscher får mest värde av den här AI-prompten för intellectual companion dialogues?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS- och B2B-techteam använder den för att förfina differentiering när produktfunktioner ser lika ut mellan konkurrenter, och för att testa om en berättelse faktiskt implicerar ett köp-skäl. Företag inom professionella tjänster (juridik, konsult, redovisning) använder den när de behöver språk som är både precist och taktfullt, särskilt i kundnära förklaringar av avvägningar. Media och förlag använder den för att utveckla skarpare redaktionella argument och undvika innehåll som känns som uppvärmd konsensus. HR och people operations kan använda den för att tänka igenom känsliga samtal med struktur och sedan kombinera den med mer processinriktade prompts när policy eller dokumentation krävs."
      }
    },
    {
      "@type": "Question",
      "name": "Varför ger enkla AI-prompts för att skapa intellektuell dialog av hög kvalitet svaga resultat?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En typisk prompt som ”Ha en djup konversation med mig om mitt problem” misslyckas eftersom den: saknar en definierad persona och glider därför in i en generisk ”assistentröst”, saknar en explicit process (så den tar aldrig ställning mellan inramning och argumentkarta), ignorerar dina insatser och önskad djupnivå, producerar medhållande sammanfattningar i stället för rörelse framåt och missar den disciplinerade användningen av frågor som tvingar fram förtydliganden. Den här prompten är bättre eftersom den börjar med att formulera vad den tror att du egentligen ber om, väljer sedan metod och håller tonen avmätt och mänsklig."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa den här prompten för intellectual companion dialogues till min specifika situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Även om mallen inte har formella variabler anpassar du den via ditt öppningsmeddelande. Berätta (1) vad som står på spel, (2) vilket djup du vill ha och (3) vilken ansats du föredrar (begreppslig inramning, närläsning, argumentkarta, motexempel). En stark följdfråga är: ”Innan du fortsätter, ställ fem förtydligande frågor som skulle förändra din analys på ett meningsfullt sätt, och välj sedan ansats igen.” Om du klistrar in text (ett strategimemo, ett mejl, ett stycke copy), be uttryckligen om ”närläsning” så att den analyserar implikationer och inte bara grammatik."
      }
    },
    {
      "@type": "Question",
      "name": "Vilka är de vanligaste misstagen när man använder den här prompten för intellectual companion dialogues?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Det största misstaget är att lämna insatserna otydliga – i stället för ”Jag funderar på ett karriärbyte”, testa ”Jag väljer mellan en stabil roll och ett mer riskfyllt erbjudande, och jag har 60 dagars runway.” Ett annat vanligt fel är att be om ”djup” utan metod; lägg till ”Använd argumentkarta och visa den svagaste premissen.” Många klistrar också in lång kontext och nämner aldrig själva beslutet, vilket leder till elegant kommentar utan riktning; gör i stället: ”Efter din föranalys, avsluta med en fråga som jag måste besvara för att vi ska kunna gå vidare.” Slutligen vill vissa ha takt men skriver konfrontativt; om du vill ha lugn stringens, säg ”Håll tonen avmätt och eskalera inte; utmana mig med motexempel.”"
      }
    },
    {
      "@type": "Question",
      "name": "Vem bör INTE använda den här prompten för intellectual companion dialogues?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Den här prompten är inte idealisk om du bara vill ha en snabb mall, en motivationsknuff eller ett engångssvar utan iteration. Den är inte heller rätt verktyg för stöd som liknar terapi, krishjälp eller känslomässigt akuta situationer där professionell vård är mer lämplig. Och om ditt mål är att ”vinna” ett argument i stället för att klargöra det kan den avmätta, taktfulla stilen kännas för återhållsam. I de fallen: använd i stället en checklistebaserad eller policybaserad playbook-prompt."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Bra tänkande är hävstång, men bara om du kan hålla kvar det i språk tillräckligt länge för att granska det. Klistra in prompten i ditt AI-verktyg, ta med ett verkligt dilemma och låt samtalet äntligen göra skäl för sig.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/prompts/bygg-dialoger-med-en-intellektuell-samtalspartner/">Bygg dialoger med en intellektuell samtalspartner</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Telegram till Notion, uppgifter från röstmeddelanden</title>
		<link>https://nodenordic.se/n8n/telegram-till-notion-uppgifter-fran-rostmeddelanden/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=telegram-till-notion-uppgifter-fran-rostmeddelanden</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Thu, 22 Jan 2026 07:58:31 +0000</pubDate>
				<category><![CDATA[n8n]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=105048</guid>

					<description><![CDATA[<p>Gör Telegram-texter och röstmeddelanden till korrekt formaterade Notion-uppgifter. Håll prioritet, förfallodatum och uppdateringar samlade.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/n8n/telegram-till-notion-uppgifter-fran-rostmeddelanden/">Telegram till Notion, uppgifter från röstmeddelanden</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: Telegram Notion tasks -->
<div class="hook-introduction">

<p>Dina bästa uppgifter försvinner inte för att du är lat. De försvinner för att i samma ögonblick som du tänker ”det där borde jag göra”, så är du i Telegram, inte i Notion, och du hinner inte stanna upp för att formatera en riktig uppgift.</p>



<p><strong>Marknadsförare</strong> som jonglerar kampanjer känner det. <strong>Byråägare</strong> hör det i kundernas röstmeddelanden. Och solofounders drabbas hårdast. Den här automatiseringen för Telegram Notion tasks fångar de meddelandena och gör om dem till felfria, strukturerade Notion-uppgifter, utan copy-paste-spiralen.</p>



<p>Du får se hur flödet hanterar text och ljud, hur det väljer mellan skapa vs. uppdatera vs. analys, och vad du kan justera så att det matchar ditt eget uppgiftssystem.</p>

</div>

<div class="workflow-visualization">

<h2 class="wp-block-heading">Så fungerar automatiseringen</h2>



<p>Hela n8n-flödet, från trigger till slutligt resultat:</p>





<!-- Workflow Viewer Container -->
<h3 class="workflow-viewer-title">n8n Workflow Template: <span class="workflow-post-title">Telegram till Notion, uppgifter från röstmeddelanden</span></h3>
<div class="workflow-viewer-wrapper">
    <div class="workflow-viewer-container" id="workflow-viewer" role="img" aria-label="Telegram till Notion, uppgifter från röstmeddelanden workflow diagram visualization">

        <!-- Click to Explore Overlay -->
        <div class="workflow-overlay" id="workflowOverlay">
            <div class="workflow-overlay-text">Click to explore</div>
        </div>

        <!-- Diagram Container -->
        <!-- Loader -->
        <div class="workflow-loader" id="workflowLoader">
            <div class="workflow-spinner"></div>
        </div>
        <div class="workflow-diagram" id="workflowDiagram">

            <pre class="mermaid" id="mermaidSource">flowchart LR

    subgraph sg0[&quot;Telegram Incoming Flow&quot;]
        direction LR
        n0[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Telegram Incoming Trigger&quot;]
        n1@{ icon: &quot;mdi:swap-horizontal&quot;, form: &quot;rounded&quot;, label: &quot;Detect Audio or Text&quot;, pos: &quot;b&quot;, h: 48 }
        n2[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Retrieve Voice File&quot;]
        n3@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Voice Transcription&quot;, pos: &quot;b&quot;, h: 48 }
        n4@{ icon: &quot;mdi:swap-vertical&quot;, form: &quot;rounded&quot;, label: &quot;Format Input Text&quot;, pos: &quot;b&quot;, h: 48 }
        n5[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Dispatch Task Link&quot;]
        n6@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Classify Intent&quot;, pos: &quot;b&quot;, h: 48 }
        n7@{ icon: &quot;mdi:swap-vertical&quot;, form: &quot;rounded&quot;, label: &quot;Package Intent&quot;, pos: &quot;b&quot;, h: 48 }
        n8@{ icon: &quot;mdi:swap-vertical&quot;, form: &quot;rounded&quot;, label: &quot;Normalize Message Text&quot;, pos: &quot;b&quot;, h: 48 }
        n9@{ icon: &quot;mdi:swap-horizontal&quot;, form: &quot;rounded&quot;, label: &quot;Intent Router&quot;, pos: &quot;b&quot;, h: 48 }
        n10@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Parse Task Fields&quot;, pos: &quot;b&quot;, h: 48 }
        n11[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Merge Intent &amp; Text&quot;]
        n12@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Task Update Prompt&quot;, pos: &quot;b&quot;, h: 48 }
        n13@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Select Matching Task&quot;, pos: &quot;b&quot;, h: 48 }
        n14[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Build Match Payload&quot;]
        n15@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Derive Search Phrase&quot;, pos: &quot;b&quot;, h: 48 }
        n16[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Compose Update Payload&quot;]
        n17[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Convert Task JSON&quot;]
        n18[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Assemble Analysis Payload&quot;]
        n19@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Analyze Task List&quot;, pos: &quot;b&quot;, h: 48 }
        n20[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Send Analysis Reply&quot;]
        n21[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Create Notion Task&quot;]
        n22[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Fetch Tasks for Review&quot;]
        n23[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Retrieve Tasks for Update&quot;]
        n24[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Modify Notion Task&quot;]
        n25@{ icon: &quot;mdi:brain&quot;, form: &quot;rounded&quot;, label: &quot;OpenAI Chat Model Intent&quot;, pos: &quot;b&quot;, h: 48 }
        n26@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Generate Task Data&quot;, pos: &quot;b&quot;, h: 48 }
        n27@{ icon: &quot;mdi:brain&quot;, form: &quot;rounded&quot;, label: &quot;OpenAI Model Create Task&quot;, pos: &quot;b&quot;, h: 48 }
        n28@{ icon: &quot;mdi:brain&quot;, form: &quot;rounded&quot;, label: &quot;OpenAI Model Search Phrase&quot;, pos: &quot;b&quot;, h: 48 }
        n29@{ icon: &quot;mdi:brain&quot;, form: &quot;rounded&quot;, label: &quot;OpenAI Model Match Task&quot;, pos: &quot;b&quot;, h: 48 }
        n30@{ icon: &quot;mdi:brain&quot;, form: &quot;rounded&quot;, label: &quot;OpenAI Model Update Task&quot;, pos: &quot;b&quot;, h: 48 }
        n31@{ icon: &quot;mdi:brain&quot;, form: &quot;rounded&quot;, label: &quot;OpenAI Model Analyze Tasks&quot;, pos: &quot;b&quot;, h: 48 }
        n32[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Dispatch Update Link&quot;]
        n7 --&gt; n11
        n6 --&gt; n7
        n1 --&gt; n2
        n1 --&gt; n4
        n17 --&gt; n24
        n4 --&gt; n8
        n9 --&gt; n26
        n9 --&gt; n15
        n9 --&gt; n22
        n19 --&gt; n20
        n15 --&gt; n23
        n13 --&gt; n16
        n12 --&gt; n17
        n11 --&gt; n9
        n2 --&gt; n3
        n26 --&gt; n21
        n14 --&gt; n13
        n8 --&gt; n6
        n16 --&gt; n12
        n21 --&gt; n5
        n24 --&gt; n32
        n18 --&gt; n19
        n3 --&gt; n8
        n23 --&gt; n14
        n0 --&gt; n1
        n27 -.-&gt; n26
        n10 -.-&gt; n26
        n22 --&gt; n18
        n30 -.-&gt; n12
        n31 -.-&gt; n19
        n28 -.-&gt; n15
        n29 -.-&gt; n13
        n25 -.-&gt; n6
    end

    %% Styling
    classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
    classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
    classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
    classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
    classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
    classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
    classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    classDef disabled stroke-dasharray: 5 5,opacity: 0.5
    class n0 trigger
    class n3,n6,n10,n12,n13,n15,n19,n26 ai
    class n25,n27,n28,n29,n30,n31 aiModel
    class n1,n9 decision
    class n21,n22,n23 database
    class n24 api
    class n11,n14,n16,n17,n18 code
    classDef customIcon fill:none,stroke:none
    class n0,n2,n5,n11,n14,n16,n17,n18,n20,n21,n22,n23,n24,n32 customIcon</pre>
        </div>

        <!-- Control Bar (Bottom) -->
        <div class="workflow-controls" id="workflowControls">
            <button onclick="workflowFullscreen()" title="Fullscreen">
                <span class="iconify" data-icon="lucide:maximize" data-width="16" data-height="16"></span>
            </button>
            <button onclick="workflowZoom(1.25)" title="Zoom In">
                <span class="iconify" data-icon="lucide:zoom-in" data-width="16" data-height="16"></span>
            </button>
            <button onclick="workflowZoom(0.8)" title="Zoom Out">
                <span class="iconify" data-icon="lucide:zoom-out" data-width="16" data-height="16"></span>
            </button>
            <button onclick="workflowReset()" title="Reset View">
                <span class="iconify" data-icon="lucide:undo-2" data-width="16" data-height="16"></span>
            </button>
        </div>
    </div>

</div>


<!-- Styles -->
<style>
    /* Title above viewer */
    .workflow-viewer-title {
        font-size: 24px;
        font-weight: 700;
        color: #1f2937;
        text-align: center;
        margin: 0 0 16px 0;
    }

    .workflow-viewer-wrapper {
        max-width: 100%;
        margin-bottom: 24px;
        border-radius: 12px;
        overflow: visible;
        box-shadow: none;
        background: #ffffff;
        padding: 24px;
        padding-bottom: 28px;
        border: 1px solid #e5e7eb;
        box-sizing: border-box;
    }

    .workflow-post-title {
        font-weight: 400;

    }

    .workflow-viewer-container {
        position: relative;
        max-width: 100%;
        aspect-ratio: 1470 / 600;
        background: #f8f8f8;
        border-radius: 8px;
        border: 1px solid #e5e7eb;
        overflow: hidden;
        contain: layout style;
        min-height: 300px;
        /* CLS fix - minimum height */
    }

    /* CLS fix - reserve space for diagram */
    .workflow-diagram {
        width: 100%;
        height: 100%;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        min-height: 250px;
        background:
            repeating-linear-gradient(-45deg,
                transparent,
                transparent 2px,
                rgba(0, 0, 0, 0.03) 2px,
                rgba(0, 0, 0, 0.03) 4px),
            #fafafa;
    }


    /* Click to Explore Overlay */
    .workflow-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 100;
        transition: background 0.2s ease;
    }

    .workflow-overlay:hover {
        background: rgba(0, 0, 0, 0.03);
    }

    .workflow-overlay-text {
        padding: 16px 32px;
        background: rgba(0, 0, 0, 0.7);
        color: white;
        font-size: 14px;
        font-weight: 600;
        border-radius: 8px;
        opacity: 0;
        transform: scale(0.95);
        transition: all 0.2s ease;
    }

    .workflow-overlay:hover .workflow-overlay-text {
        opacity: 1;
        transform: scale(1);
    }

    .workflow-overlay.hidden {
        display: none;
    }

    /* Diagram Container */
    .workflow-diagram {
        width: 100%;
        height: 100%;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        background:
            repeating-linear-gradient(-45deg,
                transparent,
                transparent 2px,
                rgba(0, 0, 0, 0.03) 2px,
                rgba(0, 0, 0, 0.03) 4px),
            #fafafa;
    }

    .workflow-diagram .mermaid {
        visibility: hidden;
        position: absolute;
    }

    .workflow-diagram svg {
        max-width: none !important;
        max-height: none !important;
        transition: transform 0.1s ease-out;
        position: absolute;
    }

    /* Make Mermaid subgraphs transparent */
    .workflow-diagram .cluster rect {
        fill: transparent !important;
        stroke: #e0e0e0 !important;
    }

    /* Loader */
    .workflow-loader {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        z-index: 10;
    }

    .workflow-spinner {
        width: 32px;
        height: 32px;
        border: 3px solid #e5e7eb;
        border-top-color: #6b7280;
        border-radius: 50%;
        animation: workflow-spin 0.8s linear infinite;
    }

    @keyframes workflow-spin {
        to {
            transform: rotate(360deg);
        }
    }

    .workflow-loader.hidden {
        display: none;
    }

    .workflow-diagram.interactive {
        cursor: grab;
    }

    .workflow-diagram.interactive:active {
        cursor: grabbing;
    }

    /* Control Bar */
    .workflow-controls {
        position: absolute;
        bottom: 20px;
        left: 20px;
        display: flex;
        gap: 8px;
        z-index: 50;
        opacity: 1;
        transition: opacity 0.2s ease;
        pointer-events: auto;
    }



    .workflow-controls button {
        width: 40px;
        height: 40px;
        background: #ffffff;
        border: 1px solid #dbdfe7;
        border-radius: 8px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: none;
        transition: all 0.2s ease;
        color: #525356;
    }

    .workflow-controls button:hover {
        background: #f5f5f5;
        color: #1f1f1f;
        border-color: #c9ccd1;
    }

    .workflow-controls button:active {
        background: #f0f0f0;
    }

    .workflow-controls button:active {
        transform: translateY(0);
    }

    /* Fullscreen Mode */
    .workflow-viewer-wrapper.fullscreen {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 999999;
        margin: 0;
        border-radius: 0;
        padding: 20px;
        border: none;
        box-sizing: border-box;
        box-sizing: border-box;
    }

    .workflow-viewer-wrapper.fullscreen .workflow-viewer-container {
        aspect-ratio: unset;
        height: 100%;
        border-radius: 8px;
    }

    /* Mobile Responsive */
    @media (max-width: 768px) {
        .workflow-viewer-wrapper {
            padding: 8px;
            border-radius: 12px;
        }

        .workflow-viewer-container {
            border-radius: 8px;
        }

        .workflow-controls button {
            width: 40px;
            height: 40px;
        }

        .workflow-overlay-text {
            font-size: 16px;
            padding: 12px 24px;
        }
    }


    /* CTA Buttons Row */
    .workflow-cta-row {
        display: flex;
        gap: 16px;
        margin: 20px 0;
        padding: 10px;
    }

    .workflow-cta-btn {
        flex: 1;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        text-decoration: none;
        text-align: center;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    a.workflow-cta-btn.workflow-cta-primary,
    a.workflow-cta-btn.workflow-cta-primary:link,
    a.workflow-cta-btn.workflow-cta-primary:visited {
        background: #04AA6D;
        color: #ffffff !important;
        border: none !important;
    }

    .workflow-cta-primary:hover {
        background: #059862;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(4, 170, 109, 0.3);
        color: #fff !important;
    }

    .workflow-cta-row .workflow-cta-outline,
    .entry-content .workflow-cta-outline {
        background: transparent;
        color: #6366f1 !important;
        border: 2px solid #6366f1 !important;
        border-bottom: 2px solid #6366f1 !important;
    }

    .workflow-cta-outline:hover {
        background: #6366f1;
        color: #fff !important;
    }

    @media (max-width: 600px) {
        .workflow-cta-row {
            flex-direction: column;
        }
    }
</style>

<!-- Scripts -->
<script src="https://code.iconify.design/3/3.1.0/iconify.min.js"></script>


</div>

<div class="problem-section">

<h2 class="wp-block-heading">Problemet: bra idéer dör i din chatthistorik</h2>



<p>Telegram är där beslut tas snabbt. ”Påminn mig att följa upp.” ”Vi borde ändra erbjudandet.” ”Jag känner mig överbelastad den här veckan.” Problemet är det som händer efteråt. Antingen avbryter du det du gör för att öppna Notion och skapa en riktig uppgift, eller så intalar du dig att du gör det senare, vilket ärligt talat betyder aldrig. Sedan sitter du och letar i chatthistoriken klockan 23 och försöker minnas vad ”ring mamma imorgon” skulle bli, och du har fortfarande inga prioriteringar, inga förfallodatum och ingen samlad överblick över din belastning.</p>



<p>Det växer snabbt. Och skadan smyger sig på.</p>



<ul class="wp-block-list">
<li>Du skriver om samma uppgift två gånger eftersom den första versionen bara fanns i ett röstmeddelande.</li>


<li>Prioritet och deadlines tappas bort, så allt blir ”brådskande” i ditt huvud.</li>


<li>Att uppdatera en befintlig uppgift blir en skattjakt bland Notion-sidor och gamla meddelanden.</li>


<li>Utan en snabb verklighetscheck på arbetsbelastningen fortsätter du säga ja tills du är utbränd.</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="solution-results-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Lösningen: Telegram-meddelanden blir Notion-uppgifter automatiskt</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Det här flödet lyssnar på inkommande Telegram-meddelanden (text eller röstmeddelanden) och gör om dem till strukturerade åtgärder i Notion. Om du skickar ljud hämtar det röstfilen och transkriberar den först. Sedan klassificerar OpenAI vad du menade: skapar du en ny uppgift, uppdaterar en befintlig, eller ber du om en snabb analys av din aktuella uppgiftslista. Utifrån den intentionen extraherar det uppgiftsfält som titel, prioritet, förfallodatum, taggar (hälsa, pengar, sport med mera) och formaterar till och med beskrivningar till felfria punktlistor. Resultatet blir en Notion-uppgift som ser ut som att du skrev den noggrant, även om du bara svamlade i 12 sekunder på väg till ett möte.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Flödet startar i Telegram, skickar meddelanden via intentionsidentifiering och tar sedan en av tre vägar. Skapa leder till ett nytt Notion-objekt. Uppdatera hittar rätt uppgift, sätter ihop en säker uppdateringspayload och applicerar ändringarna. Analys hämtar dina uppgifter, bygger en analys-prompt och skickar en ärlig sammanfattning tillbaka till Telegram.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Vad du får: automatisering vs. resultat</h3>
<!-- /wp:heading -->

<!-- wp:html -->
<table class="solution-results-table" role="presentation" aria-label="Workflow automation features and results comparison">
 <thead>
    <tr>
      <th scope="col">Vad det här flödet automatiserar</th>
      <th scope="col">Resultat du får</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Det identifierar om ditt Telegram-meddelande är text eller ett röstmeddelande och hanterar båda.</li>
          <li>Det transkriberar ljud, normaliserar formuleringar och klassificerar din intention automatiskt.</li>
          <li>Det extraherar uppgiftsfält (titel, prioritet, förfallodatum, taggar) och formaterar beskrivningen snyggt.</li>
          <li>Det kan söka upp en befintlig Notion-uppgift och uppdatera den via ett API-anrop.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>De flesta sparar cirka 30 minuter per dag bara genom att slippa manuell uppgiftsinmatning.</li>
          <li>Dina uppgifter slutar se ut som röriga chattfragment, så du börjar lita på systemet igen.</li>
          <li>Uppdateringar sker på sekunder, vilket betyder färre dubbletter och färre ”vilken är den riktiga?”-stunder.</li>
          <li>Du kan fråga ”Är jag överbokad idag?” och få ett användbart svar direkt i Telegram.</li>
          <li>Prioriteringar och deadlines blir konsekventa, även när du har bråttom.</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>
<!-- /wp:html -->
</div>

<div class="example-in-practice">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Exempel: så här ser det ut</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Säg att du fångar 12 uppgifter i veckan från Telegram och att varje uppgift tar cirka 5 minuter att skriva in på nytt i Notion (titel, förfallodatum, prioritet, några punkter). Det är ungefär en timme adminarbete, plus extra tid för att leta upp äldre meddelanden när du behöver uppdatera något. Med det här flödet skickar du ett röstmeddelande på 10 sekunder eller en textrad, och väntar sedan kanske en minut på transkribering och intentionsidentifiering. Du gjorde precis om ”sen” till ”klart”, utan att ens öppna Notion.</p>
<!-- /wp:paragraph -->
</div>

<div class="prerequisites-box">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Det här behöver du</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><strong>n8n-instans</strong> (<a href="https://n8n.partnerlinks.io/x6ioz9sbsmh9" rel="nofollow noopener" target="_blank">prova n8n Cloud gratis</a>)</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Alternativ för self-hosting</strong> om du föredrar det (<a href="https://hostinger.com/?ref=yourcode" rel="nofollow noopener" target="_blank">Hostinger fungerar bra</a>)</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Telegram-bot</strong> som tar emot text och röstmeddelanden.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Notion</strong> för din uppgiftsdatabas och uppdateringar.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>OpenAI API-nyckel</strong> (hämta den i OpenAI API-dashboarden).</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Kunskapsnivå:</strong> Mellan. Du kopplar in credentials, mappar några Notion-fält och testar både text- och ljudmeddelanden.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em>Vill du inte sätta upp detta själv? <a href="#expert-consultation" class="expert-popup-trigger">Prata med en automationsexpert</a> (gratis konsultation i 15 minuter).</em></p>
<!-- /wp:paragraph -->
</div>

<div class="how-it-works-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Så fungerar det</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Telegram startar allt.</strong> När ett meddelande når din bot triggas flödet direkt. Det kontrollerar vad du skickade så att röstmeddelanden hanteras annorlunda än vanlig text.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Röst blir text.</strong> Om det är ljud hämtar n8n röstfilen från Telegram och skickar den till OpenAI för transkribering. Om det redan är text så rensar och normaliserar den bara meddelandet så att AI:n får konsekvent input.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Intentionen avgör vägen.</strong> OpenAI klassificerar meddelandet som ”create”, ”update” eller ”analyze”, och sedan skickar en router det vidare till rätt gren. Skapa extraherar strukturerade fält och skriver en ny uppgift i Notion. Uppdatera tar fram en sökfras, hämtar kandidatuppgifter, väljer bästa matchning och applicerar uppdateringspayloaden.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Resultatet går tillbaka till Telegram.</strong> Du får en uppgiftslänk efter skapande, en bekräftelse efter ändringar eller ett lättläst analysmeddelande när du frågar hur läget ser ut. Snabb återkoppling är viktig eftersom den bygger förtroende för automatiseringen.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Du kan enkelt anpassa dina Notion-fält så att de matchar din egen databas (till exempel etiketter för ”Prioritet” eller taggnamn) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.</p>
<!-- /wp:paragraph -->
</div>

<div class="implementation-guide-section">

    <div class="workflow-article-implementation">

        <!-- Step 1: Always visible -->
        <div class="implementation-visible">
            <div class="implementation-guide-content">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Steg-för-steg-guide för implementation</h2>
<!-- /wp:heading -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 1: Konfigurera Telegram-triggern</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Det här arbetsflödet startar när ett meddelande kommer in i Telegram, så ni kopplar först in triggern och bekräftar att den lyssnar på meddelanden.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Lägg till och öppna <strong>Telegram Incoming Trigger</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>telegramApi</strong>-inloggningsuppgifter.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Ställ in <strong>Updates</strong> på <code>message</code> (redan definierat i noden).</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Säkerställ att noden är ansluten till <strong>Detect Audio or Text</strong>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
        </div>

                    <!-- Steps 2+: Gated behind email -->
            <div class="implementation-gated-wrapper">
                <div class="implementation-gated-content">
                    <h3 class="wp-block-heading">Steg 2: Konfigurera meddelandeintag (röst vs text)</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Inkommande meddelanden delas upp i ljud- eller textspår för korrekt hantering.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Öppna <strong>Detect Audio or Text</strong> och verifiera att dess regelkontroller inkluderar <code>{{ $json.message.voice.file_id }}</code> och <code>{{ $json.message.text || "" }}</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>För röstmeddelanden: konfigurera <strong>Retrieve Voice File</strong> med <strong>File ID</strong> satt till <code>{{ $json.message.voice.file_id }}</code> och <strong>Resource</strong> satt till <code>file</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>telegramApi</strong>-inloggningsuppgifter till <strong>Retrieve Voice File</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>För textmeddelanden: öppna <strong>Format Input Text</strong> och bekräfta att tilldelningen sätter <strong>text</strong> till <code>{{$json.message.text}}</code>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 3: Sätt upp transkribering och textnormalisering</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Röstinmatning transkriberas och alla indata normaliseras till ett enda textfält för avsiktsdetektering.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>I <strong>Voice Transcription</strong>, ställ in <strong>Resource</strong> till <code>audio</code> och <strong>Operation</strong> till <code>translate</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>openAiApi</strong>-inloggningsuppgifter till <strong>Voice Transcription</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Öppna <strong>Normalize Message Text</strong> och verifiera att tilldelningen sätter <strong>text</strong> till <code>{{ $json.text }}</code>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:paragraph -->
<p><div class="tip-box">Tips: Om ni vill att text och röst ska hanteras identiskt, behåll <strong>Normalize Message Text</strong> som den enda indata till <strong>Classify Intent</strong>.</div></p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 4: Konfigurera klassificering av avsikt och routing</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Arbetsflödet använder en LLM för att klassificera användarens avsikt (create, update, analyze) och routar till rätt gren.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Öppna <strong>Classify Intent</strong> och bekräfta att <strong>Text</strong> är satt till <code>{{ $json.text }}</code> med <strong>Prompt Type</strong> satt till <code>define</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Säkerställ att <strong>OpenAI Chat Model Intent</strong> är ansluten som språkmodell för <strong>Classify Intent</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>openAiApi</strong>-inloggningsuppgifter till <strong>OpenAI Chat Model Intent</strong> (inloggningsuppgifter läggs till i modellnoden, inte i chain-noden).</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Öppna <strong>Package Intent</strong> och ställ in <strong>JSON Output</strong> till <code>{ "intent": "{{ $json.text }}" }</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Verifiera att <strong>Merge Intent & Text</strong> kombinerar <strong>Classify Intent</strong> och <strong>Normalize Message Text</strong> exakt som visas i dess JavaScript.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Intent Router</strong>, bekräfta att de tre reglerna routar utifrån <code>{{ $json.intent }}</code> som matchar <code>create</code>, <code>update</code> och <code>analyze</code>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:paragraph -->
<p><div class="warning-box"><strong>⚠️ Vanlig fallgrop:</strong> Om avsikten inte är exakt en av <code>create</code>, <code>update</code> eller <code>analyze</code> kommer <strong>Intent Router</strong> inte att routa meddelandet. Håll klassificerarens svar strikt.</div></p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 5: Sätt upp spåret för att skapa uppgifter (LLM + Notion)</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Skapa-spåret extraherar strukturerade uppgiftsdata via en LLM och skapar sedan ett objekt i en Notion-databas.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Öppna <strong>Generate Task Data</strong> och verifiera att <strong>Text</strong> är <code>{{ $json.text }}</code> och att <strong>Has Output Parser</strong> är aktiverat.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Säkerställ att <strong>Parse Task Fields</strong> är ansluten som output parser för <strong>Generate Task Data</strong>, med det medföljande JSON-schemaexemplet.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Säkerställ att <strong>OpenAI Model Create Task</strong> är ansluten som språkmodell för <strong>Generate Task Data</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>openAiApi</strong>-inloggningsuppgifter till <strong>OpenAI Model Create Task</strong> (inte till <strong>Generate Task Data</strong> eller <strong>Parse Task Fields</strong>).</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Create Notion Task</strong>, ställ in <strong>Resource</strong> till <code>databasePage</code> och välj ert <strong>Database ID</strong> (för närvarande <code>[YOUR_ID]</code>).</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Mappa egenskaper i <strong>Create Notion Task</strong>: <strong>Name</strong> till <code>{{ $json.output.title }}</code>, <strong>Description</strong> till <code>{{ $json.output.description }}</code>, <strong>Due Date</strong> till <code>{{ $json.output.due_date }}</code>, <strong>Priority</strong> till <code>{{ $json.output.priority }}</code> och <strong>Tags</strong> till <code>{{ $json.output.tags }}</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>notionApi</strong>-inloggningsuppgifter till <strong>Create Notion Task</strong>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 6: Sätt upp spåret för att uppdatera uppgifter (sök, matcha och patcha)</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Uppdatera-spåret tar fram en sökfras, matchar en uppgift, uppdaterar den med en LLM och patchar Notion via API:t.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Öppna <strong>Derive Search Phrase</strong> och bekräfta att <strong>Text</strong> är <code>{{ $json.text }}</code>, med <strong>OpenAI Model Search Phrase</strong> ansluten som språkmodell.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>openAiApi</strong>-inloggningsuppgifter till <strong>OpenAI Model Search Phrase</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Retrieve Tasks for Update</strong>, ställ in <strong>Resource</strong> till <code>databasePage</code>, <strong>Operation</strong> till <code>getAll</code> och <strong>Return All</strong> till <code>true</code>, med <strong>Database ID</strong> satt till <code>[YOUR_ID]</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>notionApi</strong>-inloggningsuppgifter till <strong>Retrieve Tasks for Update</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Verifiera att <strong>Build Match Payload</strong> bygger <code>search_string</code> från <strong>Derive Search Phrase</strong> och sammanställer <code>tasks</code> från <strong>Retrieve Tasks for Update</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Öppna <strong>Select Matching Task</strong> och säkerställ att den är ansluten till <strong>OpenAI Model Match Task</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>openAiApi</strong>-inloggningsuppgifter till <strong>OpenAI Model Match Task</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Kontrollera att <strong>Compose Update Payload</strong> använder den parsade matchade uppgiften och användarens ursprungliga meddelande, och skickar vidare till <strong>Task Update Prompt</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Task Update Prompt</strong>, bekräfta att prompten använder <code>{{ $json.text }}</code> och <code>{{ JSON.stringify($json.task, null, 2) }}</code>, och ansluter till <strong>OpenAI Model Update Task</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>openAiApi</strong>-inloggningsuppgifter till <strong>OpenAI Model Update Task</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Verifiera att <strong>Convert Task JSON</strong> parsar JSON-svaret från LLM:en.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Modify Notion Task</strong>, bekräfta att <strong>URL</strong> är <code>https://api.notion.com/v1/pages/{{ $json["id"] }}</code> och att <strong>Method</strong> är <code>PATCH</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Behåll <strong>JSON Body</strong> som angivet för att mappa egenskaper som <code>{{ $json["property_name"] }}</code>, <code>{{ $json["property_description"] }}</code>, <code>{{ $json["property_priority"] }}</code>, <code>{{ $json["property_due_date"].start }}</code> och taggar från <code>$json.property_tags</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>notionApi</strong>-inloggningsuppgifter till <strong>Modify Notion Task</strong>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:paragraph -->
<p><div class="tip-box">Tips: Säkerställ att er Notion-databas har egenskapsnamn som exakt matchar <strong>Name</strong>, <strong>Description</strong>, <strong>Priority</strong>, <strong>Due Date</strong> och <strong>Tags</strong> som används i <strong>Modify Notion Task</strong>.</div></p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 7: Sätt upp spåret för att analysera uppgifter (granskning + insikter)</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Analysspåret hämtar uppgifter från Notion och använder en LLM för att generera insikter.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>I <strong>Fetch Tasks for Review</strong>, ställ in <strong>Resource</strong> till <code>databasePage</code>, <strong>Operation</strong> till <code>getAll</code> och <strong>Return All</strong> till <code>true</code> med <strong>Database ID</strong> satt till <code>[YOUR_ID]</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>notionApi</strong>-inloggningsuppgifter till <strong>Fetch Tasks for Review</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Verifiera att <strong>Assemble Analysis Payload</strong> bygger <code>question</code> från användarmeddelandet och <code>tasks</code> från <strong>Fetch Tasks for Review</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Öppna <strong>Analyze Task List</strong> och bekräfta att prompten använder <code>{{ $json.question }}</code> och <code>{{ JSON.stringify($json.tasks, null, 2) }}</code>, med <strong>OpenAI Model Analyze Tasks</strong> ansluten.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>openAiApi</strong>-inloggningsuppgifter till <strong>OpenAI Model Analyze Tasks</strong>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 8: Konfigurera Telegram-utdata</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Alla create/update/analyze-spår meddelar användaren i Telegram med länkar eller insikter.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>I <strong>Dispatch Task Link</strong>, ställ in <strong>Text</strong> till <code>Task Link :{{ $json.url }}</code> och <strong>Chat ID</strong> till <code>{{ $('Telegram Incoming Trigger').item.json.message.chat.id }}</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>telegramApi</strong>-inloggningsuppgifter till <strong>Dispatch Task Link</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Dispatch Update Link</strong>, ställ in <strong>Text</strong> till <code>Task Link :{{ $json.url }}</code> och <strong>Chat ID</strong> till <code>[YOUR_ID]</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Send Analysis Reply</strong>, ställ in <strong>Text</strong> till <code>{{ $json.text }}</code> och <strong>Chat ID</strong> till <code>[YOUR_ID]</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Inloggningsuppgifter krävs:</strong> Anslut era <strong>telegramApi</strong>-inloggningsuppgifter till <strong>Dispatch Update Link</strong> och <strong>Send Analysis Reply</strong>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:paragraph -->
<p><div class="warning-box"><strong>⚠️ Vanlig fallgrop:</strong> Ersätt <code>[YOUR_ID]</code> i <strong>Dispatch Update Link</strong> och <strong>Send Analysis Reply</strong> med ett giltigt Telegram chat ID, annars misslyckas meddelanden utan tydlig felindikering.</div></p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 9: Testa och aktivera ert arbetsflöde</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Kör ett fullständigt test för att bekräfta att alla tre avsiktsspår (create, update, analyze) fungerar end-to-end.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Klicka på <strong>Execute Workflow</strong> och skicka ett Telegram-meddelande (text och röst) för att trigga <strong>Telegram Incoming Trigger</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Bekräfta att create-meddelanden resulterar i ett nytt Notion-objekt via <strong>Create Notion Task</strong> och en Telegram-länk från <strong>Dispatch Task Link</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Bekräfta att update-meddelanden hittar en uppgift via <strong>Select Matching Task</strong>, patchar den i <strong>Modify Notion Task</strong> och returnerar en länk via <strong>Dispatch Update Link</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Bekräfta att analyze-meddelanden passerar via <strong>Analyze Task List</strong> och skickar insikten via <strong>Send Analysis Reply</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>När allt fungerar, ställ arbetsflödet till <strong>Active</strong> för att köra i produktion.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
</div>                </div>
                <div class="implementation-unlock-overlay">
                    <div class="unlock-box">
                        <div class="unlock-icon">🔒</div>
                        <h4>Lås upp fullständig steg-för-steg-guide</h4>
                        <p>Få den kompletta implementeringsguiden + nedladdningsbar mall</p>
                        <button class="unlock-btn flowpast-use-template-btn">
                            Lås upp nu →
                        </button>
                    </div>
                </div>
            </div>
        
    </div>

    <style>
        /* Gated Implementation Styles */
        .implementation-gated-wrapper {
            position: relative;
            min-height: 400px;
            margin-top: 0;
        }

        .implementation-gated-content {
            filter: blur(5px);
            user-select: none;
            pointer-events: none;
            overflow: hidden;
        }

        /* Gradient fade at bottom */
        .implementation-gated-wrapper::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 200px;
            background: linear-gradient(to bottom, transparent 0%, white 80%);
            pointer-events: none;
        }

        /* Unlock overlay box */
        .implementation-unlock-overlay {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 10;
            width: 100%;
            max-width: 400px;
            padding: 0 20px;
            box-sizing: border-box;
        }

        .unlock-box {
            background: #fff;
            padding: 32px;
            border-radius: 16px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
            text-align: center;
            border: 1px solid #e5e7eb;
        }

        .unlock-icon {
            font-size: 48px;
            margin-bottom: 16px;
        }

        .unlock-box h4 {
            margin: 0 0 8px 0;
            font-size: 20px;
            font-weight: 700;
            color: #1f2937;
        }

        .unlock-box p {
            margin: 0 0 20px 0;
            font-size: 14px;
            color: #6b7280;
        }

        .unlock-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: 100%;
            padding: 16px 32px;
            background: transparent;
            color: #6366f1 !important;
            border: 2px solid #6366f1;
            border-radius: 8px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .unlock-btn:hover {
            background: #6366f1;
            color: #ffffff !important;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
        }

        /* When unlocked (cookie set) - hide gate, show content */
        body.flowpast-unlocked .implementation-gated-content {
            filter: none;
            user-select: auto;
            pointer-events: auto;
            max-height: none;
        }

        body.flowpast-unlocked .implementation-gated-wrapper::after {
            display: none;
        }

        body.flowpast-unlocked .implementation-unlock-overlay {
            display: none;
        }

        /* Mobile responsive */
        @media (max-width: 600px) {
            .unlock-box {
                padding: 24px 20px;
            }

            .unlock-box h4 {
                font-size: 18px;
            }

            .unlock-btn {
                padding: 14px 24px;
                font-size: 15px;
            }
        }
    </style>


</div>

<div class="common-gotchas">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga fallgropar</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li>Telegram-botens credentials kan gå ut eller så kan boten tappa behörigheter. Om meddelanden slutar trigga, kontrollera BotFather-inställningar och n8n:s Telegram-credentials först.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder failar på tomma svar.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du redigera output för alltid.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="related-workflows-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Relaterade flöden</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Om ditt mål är att fånga uppgifter utan att ens tänka på formatering, passar <a href="https://nodenordic.se/n8n/telegram-till-notion-fanga-uppgifter-utan-appbyte">Telegram till Notion, fånga uppgifter utan att byta kontext</a> bra ihop med det här flödet eftersom det fokuserar på friktionsfri inmatning när du rör dig snabbt.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>För team som ständigt justerar uppgifter efter kick-off är <a href="https://nodenordic.se/n8n/telegram-plus-notion-fanga-och-uppdatera-uppgifter">Telegram + Notion: uppgifter fångas och uppdateras åt dig</a> en naturlig kompis eftersom det lutar hårt in i loopen ”uppdatera befintlig uppgift”.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>När röstmeddelanden är din huvudsakliga input (walk-and-talk-planering, pendlingens brain dumps) är <a href="https://nodenordic.se/n8n/telegram-till-notion-rostmeddelanden-blir-atgarder">Telegram till Notion, röstmeddelanden blir åtgärder</a> värd att titta på för fler mönster kring transkribering och upprensning.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Behöver du en human-in-the-loop-kontroll innan uppgifter hamnar i systemet? <a href="https://nodenordic.se/n8n/telegram-till-notion-godkanda-uppgifter-fran-rostnotiser">Telegram till Notion, godkända uppgifter från röstmeddelanden</a> är hjälpsam när du vill ha granskning och godkännande så att din Notion-databas förblir felfri.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Slutligen, om din Telegram-bot även behöver svara smart utöver uppgifter, bygger <a href="https://nodenordic.se/n8n/telegram-plus-openai-smartare-svar-for-text-och-rost">Telegram + OpenAI: smartare svar för text och röst</a> ut ”assistent”-delen så att din chatt blir ett verkligt kontrollcenter.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Snabbreferens:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-till-notion-fanga-uppgifter-utan-appbyte">Telegram till Notion, fånga uppgifter utan att byta kontext</a>: Snabbare uppgiftsfångst med färre klick.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-plus-notion-fanga-och-uppdatera-uppgifter">Telegram + Notion: uppgifter fångas och uppdateras åt dig</a>: Starkare uppdateringar och matchning av uppgifter.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-till-notion-rostmeddelanden-blir-atgarder">Telegram till Notion, röstmeddelanden blir åtgärder</a>: Röst-först-fångst med felfri output.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-till-notion-godkanda-uppgifter-fran-rostnotiser">Telegram till Notion, godkända uppgifter från röstmeddelanden</a>: Godkännandeflöde innan uppgifter skapas.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-plus-openai-smartare-svar-for-text-och-rost">Telegram + OpenAI: smartare svar för text och röst</a>: Bättre botsvar för röst och text.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vanliga frågor</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Hur lång tid tar det att sätta upp den här automatiseringen för Telegram Notion tasks?</span>
<!-- wp:paragraph -->
<p class="answer">Cirka 30 minuter om din Notion-databas redan är klar.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Behöver jag kunna koda för att automatisera Telegram Notion tasks?</span>
<!-- wp:paragraph -->
<p class="answer">Nej. Du kopplar Telegram, Notion och OpenAI och mappar sedan några fält. Om du vill ha bättre matchning för uppdateringar kan du justera en eller två prompter, men det är fortfarande konfigurationsarbete.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Är n8n gratis att använda för det här flödet för Telegram Notion tasks?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på <a href="https://n8n.partnerlinks.io/x6ioz9sbsmh9" rel="nofollow noopener" target="_blank">n8n Cloud</a>. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-kostnader, som oftast är några cent per batch av meddelanden om du inte processar mycket ljud.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Var kan jag hosta n8n för att köra den här automatiseringen?</span>
<!-- wp:paragraph -->
<p class="answer">Två alternativ: <a href="https://n8n.partnerlinks.io/x6ioz9sbsmh9" rel="nofollow noopener" target="_blank">n8n Cloud</a> (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är <a href="https://hostinger.com/?ref=yourcode" rel="nofollow noopener" target="_blank">Hostinger VPS</a> prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa det här flödet för Telegram Notion tasks till mina egna Notion-fält och etiketter?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, och det bör du. Du kan justera den strukturerade uppgiftstolkningen så att den spottar ut exakt dina Notion-egenskaper (som Status, prioritetsetiketter, taggar eller en projektrelation). Vanliga justeringar är att ändra hur förfallodatum tolkas (”imorgon förmiddag” vs. ett datum), strama åt tillåtna prioriteringsvärden och lägga till din egen taggtaxonomi så att ”finance” mappar till din taggstil för ”money”.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför misslyckas min Telegram-anslutning i det här flödet?</span>
<!-- wp:paragraph -->
<p class="answer">Oftast är det ett problem med bot-token eller att webhook/update-metoden inte tar emot events. Skapa om Telegram Bot Token i BotFather och uppdatera sedan Telegram-credentials i n8n. Bekräfta också att boten faktiskt tar emot meddelanden (särskilt i grupper) och att n8n kan nå internet om du kör self-hosted.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Hur många uppgifter kan den här automatiseringen för Telegram Notion tasks hantera?</span>
<!-- wp:paragraph -->
<p class="answer">Mer än tillräckligt för ett litet team: tänk hundratals uppgifter i veckan, inte miljoner.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Är den här automatiseringen för Telegram Notion tasks bättre än att använda Zapier eller Make?</span>
<!-- wp:paragraph -->
<p class="answer">Ofta, ja, särskilt om du bryr dig om spåren ”uppdatera och analysera”, inte bara enkel uppgiftsskapande. n8n gör branching-logik och flerstegsrouting enkel, så ”skapa vs uppdatera vs analysera” inte blir en hög separata zaps och extra avgifter. Du kan också köra self-hosted, vilket tar bort körningsstress när meddelandevolymen sticker iväg. Zapier eller Make kan fortfarande vinna för en snabb tvåstegslösning ”Telegram-meddelande → Notion-objekt”, eftersom UI:t är bekant och det är mindre att konfigurera. Om du tvekar, <a href="#expert-consultation" class="expert-popup-trigger">prata med en automationsexpert</a> och beskriv din exakta Notion-setup och meddelandevolym.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Hur lång tid tar det att sätta upp den här automatiseringen för Telegram Notion tasks?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Cirka 30 minuter om din Notion-databas redan är klar."
      }
    },
    {
      "@type": "Question",
      "name": "Behöver jag kunna koda för att automatisera Telegram Notion tasks?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nej. Du kopplar Telegram, Notion och OpenAI och mappar sedan några fält. Om du vill ha bättre matchning för uppdateringar kan du justera en eller två prompter, men det är fortfarande konfigurationsarbete."
      }
    },
    {
      "@type": "Question",
      "name": "Är n8n gratis att använda för det här flödet för Telegram Notion tasks?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-kostnader, som oftast är några cent per batch av meddelanden om du inte processar mycket ljud."
      }
    },
    {
      "@type": "Question",
      "name": "Var kan jag hosta n8n för att köra den här automatiseringen?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa det här flödet för Telegram Notion tasks till mina egna Notion-fält och etiketter?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, och det bör du. Du kan justera den strukturerade uppgiftstolkningen så att den spottar ut exakt dina Notion-egenskaper (som Status, prioritetsetiketter, taggar eller en projektrelation). Vanliga justeringar är att ändra hur förfallodatum tolkas (”imorgon förmiddag” vs. ett datum), strama åt tillåtna prioriteringsvärden och lägga till din egen taggtaxonomi så att ”finance” mappar till din taggstil för ”money”."
      }
    },
    {
      "@type": "Question",
      "name": "Varför misslyckas min Telegram-anslutning i det här flödet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oftast är det ett problem med bot-token eller att webhook/update-metoden inte tar emot events. Skapa om Telegram Bot Token i BotFather och uppdatera sedan Telegram-credentials i n8n. Bekräfta också att boten faktiskt tar emot meddelanden (särskilt i grupper) och att n8n kan nå internet om du kör self-hosted."
      }
    },
    {
      "@type": "Question",
      "name": "Hur många uppgifter kan den här automatiseringen för Telegram Notion tasks hantera?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Mer än tillräckligt för ett litet team: tänk hundratals uppgifter i veckan, inte miljoner."
      }
    },
    {
      "@type": "Question",
      "name": "Är den här automatiseringen för Telegram Notion tasks bättre än att använda Zapier eller Make?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ofta, ja, särskilt om du bryr dig om spåren ”uppdatera och analysera”, inte bara enkel uppgiftsskapande. n8n gör branching-logik och flerstegsrouting enkel, så ”skapa vs uppdatera vs analysera” inte blir en hög separata zaps och extra avgifter. Du kan också köra self-hosted, vilket tar bort körningsstress när meddelandevolymen sticker iväg. Zapier eller Make kan fortfarande vinna för en snabb tvåstegslösning ”Telegram-meddelande → Notion-objekt”, eftersom UI:t är bekant och det är mindre att konfigurera. Om du tvekar, prata med en automationsexpert och beskriv din exakta Notion-setup och meddelandevolym."
      }
    }
  ]
}
</script>

</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>När detta väl rullar blir Telegram din inkorg för åtgärder, inte en kyrkogård av ”jag gör det senare”. Flödet tar hand om den repetitiva upprensningen så att du kan fokusera på själva arbetet.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/n8n/telegram-till-notion-uppgifter-fran-rostmeddelanden/">Telegram till Notion, uppgifter från röstmeddelanden</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Telegram + OpenAI: röstmeddelanden till sökbar text</title>
		<link>https://nodenordic.se/n8n/telegram-plus-openai-rostmeddelanden-till-sokbar-text/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=telegram-plus-openai-rostmeddelanden-till-sokbar-text</link>
		
		<dc:creator><![CDATA[Rickard Andersson]]></dc:creator>
		<pubDate>Thu, 22 Jan 2026 07:56:01 +0000</pubDate>
				<category><![CDATA[n8n]]></category>
		<guid isPermaLink="false">https://nodenordic.se/?p=106212</guid>

					<description><![CDATA[<p>Gör Telegram-röstmeddelanden till strukturerad, sökbar text med OpenAI. Åtkomstkontroll, delning av långa meddelanden och säker backup.</p>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/n8n/telegram-plus-openai-rostmeddelanden-till-sokbar-text/">Telegram + OpenAI: röstmeddelanden till sökbar text</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: Telegram transcription automation -->
<div class="hook-introduction">

<p>Dina Telegram-chattar är fulla av beslut, kunddetaljer och “glöm inte det här”-ögonblick. Och sedan försvinner allt in i röstmeddelanden som ingen kan söka i, skumma igenom eller kopiera in i dokument.</p>



<p><strong>Marknadschefer</strong> sitter och spelar upp ljud om och om igen för att plocka citat. <strong>Byråägare</strong> tappar bort action points i kundtrådar. Till och med <strong>ops-ansvariga</strong> märker det när godkännanden ligger gömda i 45 sekunder mumlad kontext. Den här Telegram-automationen för transkribering gör röst till strukturerad text du faktiskt kan använda.</p>



<p>Du sätter upp ett n8n-flöde som lyssnar efter röstmeddelanden, transkriberar dem med OpenAI, faller tillbaka till Gemini vid behov och postar läsbar text tillbaka i samma chatt (även när meddelandena är långa).</p>

</div>

<div class="workflow-visualization">

<h2 class="wp-block-heading">Så fungerar den här automationen</h2>



<p>Här är det kompletta flödet du kommer att sätta upp:</p>





<!-- Workflow Viewer Container -->
<h3 class="workflow-viewer-title">n8n Workflow Template: <span class="workflow-post-title">Telegram + OpenAI: röstmeddelanden till sökbar text</span></h3>
<div class="workflow-viewer-wrapper">
    <div class="workflow-viewer-container" id="workflow-viewer" role="img" aria-label="Telegram + OpenAI: röstmeddelanden till sökbar text workflow diagram visualization">

        <!-- Click to Explore Overlay -->
        <div class="workflow-overlay" id="workflowOverlay">
            <div class="workflow-overlay-text">Click to explore</div>
        </div>

        <!-- Diagram Container -->
        <!-- Loader -->
        <div class="workflow-loader" id="workflowLoader">
            <div class="workflow-spinner"></div>
        </div>
        <div class="workflow-diagram" id="workflowDiagram">

            <pre class="mermaid" id="mermaidSource">flowchart LR

    subgraph sg0[&quot;Incoming Telegram Flow&quot;]
        direction LR
        n0[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Incoming Telegram Trigger&quot;]
        n1[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Notify Start Transcription&quot;]
        n2[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Send Access Denied&quot;]
        n3[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Alert Missing File&quot;]
        n4[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Retrieve File for GPT&quot;]
        n5[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Fetch File for Gemini&quot;]
        n6[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Warn Unrecognized File&quot;]
        n7[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Send Transcript Output&quot;]
        n8[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Send Chunked Output&quot;]
        n9@{ icon: &quot;mdi:swap-horizontal&quot;, form: &quot;rounded&quot;, label: &quot;Validate Sender Access&quot;, pos: &quot;b&quot;, h: 48 }
        n10@{ icon: &quot;mdi:swap-horizontal&quot;, form: &quot;rounded&quot;, label: &quot;Detect Message Type&quot;, pos: &quot;b&quot;, h: 48 }
        n11@{ icon: &quot;mdi:swap-vertical&quot;, form: &quot;rounded&quot;, label: &quot;Set Voice File ID&quot;, pos: &quot;b&quot;, h: 48 }
        n12@{ icon: &quot;mdi:swap-vertical&quot;, form: &quot;rounded&quot;, label: &quot;Set Audio File ID&quot;, pos: &quot;b&quot;, h: 48 }
        n13@{ icon: &quot;mdi:swap-horizontal&quot;, form: &quot;rounded&quot;, label: &quot;Validate Audio Format&quot;, pos: &quot;b&quot;, h: 48 }
        n14@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;OpenAI Transcription&quot;, pos: &quot;b&quot;, h: 48 }
        n15@{ icon: &quot;mdi:robot&quot;, form: &quot;rounded&quot;, label: &quot;Gemini Transcription&quot;, pos: &quot;b&quot;, h: 48 }
        n16@{ icon: &quot;mdi:swap-vertical&quot;, form: &quot;rounded&quot;, label: &quot;Map Text Variable&quot;, pos: &quot;b&quot;, h: 48 }
        n17@{ icon: &quot;mdi:swap-vertical&quot;, form: &quot;rounded&quot;, label: &quot;Map Text Variable 2&quot;, pos: &quot;b&quot;, h: 48 }
        n18@{ icon: &quot;mdi:swap-horizontal&quot;, form: &quot;rounded&quot;, label: &quot;Check Text Length&quot;, pos: &quot;b&quot;, h: 48 }
        n19[&quot;&lt;div style=&#039;background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0&#039;&gt;&lt;img src=&#039;https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg&#039; width=&#039;40&#039; height=&#039;40&#039; /&gt;&lt;/div&gt;&lt;br/&gt;Split Text Chunks&quot;]
        n9 --&gt; n10
        n9 --&gt; n2
        n4 --&gt; n14
        n4 --&gt; n1
        n19 --&gt; n8
        n5 --&gt; n15
        n0 --&gt; n9
        n15 --&gt; n17
        n14 --&gt; n16
        n14 --&gt; n5
        n12 --&gt; n13
        n11 --&gt; n13
        n16 --&gt; n18
        n13 --&gt; n4
        n13 --&gt; n6
        n17 --&gt; n18
        n18 --&gt; n7
        n18 --&gt; n19
        n10 --&gt; n11
        n10 --&gt; n12
        n10 --&gt; n3
    end

    %% Styling
    classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
    classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
    classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
    classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
    classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
    classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
    classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    classDef disabled stroke-dasharray: 5 5,opacity: 0.5
    class n0 trigger
    class n14,n15 ai
    class n9,n10,n13,n18 decision
    class n19 code
    classDef customIcon fill:none,stroke:none
    class n0,n1,n2,n3,n4,n5,n6,n7,n8,n19 customIcon</pre>
        </div>

        <!-- Control Bar (Bottom) -->
        <div class="workflow-controls" id="workflowControls">
            <button onclick="workflowFullscreen()" title="Fullscreen">
                <span class="iconify" data-icon="lucide:maximize" data-width="16" data-height="16"></span>
            </button>
            <button onclick="workflowZoom(1.25)" title="Zoom In">
                <span class="iconify" data-icon="lucide:zoom-in" data-width="16" data-height="16"></span>
            </button>
            <button onclick="workflowZoom(0.8)" title="Zoom Out">
                <span class="iconify" data-icon="lucide:zoom-out" data-width="16" data-height="16"></span>
            </button>
            <button onclick="workflowReset()" title="Reset View">
                <span class="iconify" data-icon="lucide:undo-2" data-width="16" data-height="16"></span>
            </button>
        </div>
    </div>

</div>


<!-- Styles -->
<style>
    /* Title above viewer */
    .workflow-viewer-title {
        font-size: 24px;
        font-weight: 700;
        color: #1f2937;
        text-align: center;
        margin: 0 0 16px 0;
    }

    .workflow-viewer-wrapper {
        max-width: 100%;
        margin-bottom: 24px;
        border-radius: 12px;
        overflow: visible;
        box-shadow: none;
        background: #ffffff;
        padding: 24px;
        padding-bottom: 28px;
        border: 1px solid #e5e7eb;
        box-sizing: border-box;
    }

    .workflow-post-title {
        font-weight: 400;

    }

    .workflow-viewer-container {
        position: relative;
        max-width: 100%;
        aspect-ratio: 1470 / 600;
        background: #f8f8f8;
        border-radius: 8px;
        border: 1px solid #e5e7eb;
        overflow: hidden;
        contain: layout style;
        min-height: 300px;
        /* CLS fix - minimum height */
    }

    /* CLS fix - reserve space for diagram */
    .workflow-diagram {
        width: 100%;
        height: 100%;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        min-height: 250px;
        background:
            repeating-linear-gradient(-45deg,
                transparent,
                transparent 2px,
                rgba(0, 0, 0, 0.03) 2px,
                rgba(0, 0, 0, 0.03) 4px),
            #fafafa;
    }


    /* Click to Explore Overlay */
    .workflow-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 100;
        transition: background 0.2s ease;
    }

    .workflow-overlay:hover {
        background: rgba(0, 0, 0, 0.03);
    }

    .workflow-overlay-text {
        padding: 16px 32px;
        background: rgba(0, 0, 0, 0.7);
        color: white;
        font-size: 14px;
        font-weight: 600;
        border-radius: 8px;
        opacity: 0;
        transform: scale(0.95);
        transition: all 0.2s ease;
    }

    .workflow-overlay:hover .workflow-overlay-text {
        opacity: 1;
        transform: scale(1);
    }

    .workflow-overlay.hidden {
        display: none;
    }

    /* Diagram Container */
    .workflow-diagram {
        width: 100%;
        height: 100%;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        background:
            repeating-linear-gradient(-45deg,
                transparent,
                transparent 2px,
                rgba(0, 0, 0, 0.03) 2px,
                rgba(0, 0, 0, 0.03) 4px),
            #fafafa;
    }

    .workflow-diagram .mermaid {
        visibility: hidden;
        position: absolute;
    }

    .workflow-diagram svg {
        max-width: none !important;
        max-height: none !important;
        transition: transform 0.1s ease-out;
        position: absolute;
    }

    /* Make Mermaid subgraphs transparent */
    .workflow-diagram .cluster rect {
        fill: transparent !important;
        stroke: #e0e0e0 !important;
    }

    /* Loader */
    .workflow-loader {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        z-index: 10;
    }

    .workflow-spinner {
        width: 32px;
        height: 32px;
        border: 3px solid #e5e7eb;
        border-top-color: #6b7280;
        border-radius: 50%;
        animation: workflow-spin 0.8s linear infinite;
    }

    @keyframes workflow-spin {
        to {
            transform: rotate(360deg);
        }
    }

    .workflow-loader.hidden {
        display: none;
    }

    .workflow-diagram.interactive {
        cursor: grab;
    }

    .workflow-diagram.interactive:active {
        cursor: grabbing;
    }

    /* Control Bar */
    .workflow-controls {
        position: absolute;
        bottom: 20px;
        left: 20px;
        display: flex;
        gap: 8px;
        z-index: 50;
        opacity: 1;
        transition: opacity 0.2s ease;
        pointer-events: auto;
    }



    .workflow-controls button {
        width: 40px;
        height: 40px;
        background: #ffffff;
        border: 1px solid #dbdfe7;
        border-radius: 8px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: none;
        transition: all 0.2s ease;
        color: #525356;
    }

    .workflow-controls button:hover {
        background: #f5f5f5;
        color: #1f1f1f;
        border-color: #c9ccd1;
    }

    .workflow-controls button:active {
        background: #f0f0f0;
    }

    .workflow-controls button:active {
        transform: translateY(0);
    }

    /* Fullscreen Mode */
    .workflow-viewer-wrapper.fullscreen {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 999999;
        margin: 0;
        border-radius: 0;
        padding: 20px;
        border: none;
        box-sizing: border-box;
        box-sizing: border-box;
    }

    .workflow-viewer-wrapper.fullscreen .workflow-viewer-container {
        aspect-ratio: unset;
        height: 100%;
        border-radius: 8px;
    }

    /* Mobile Responsive */
    @media (max-width: 768px) {
        .workflow-viewer-wrapper {
            padding: 8px;
            border-radius: 12px;
        }

        .workflow-viewer-container {
            border-radius: 8px;
        }

        .workflow-controls button {
            width: 40px;
            height: 40px;
        }

        .workflow-overlay-text {
            font-size: 16px;
            padding: 12px 24px;
        }
    }


    /* CTA Buttons Row */
    .workflow-cta-row {
        display: flex;
        gap: 16px;
        margin: 20px 0;
        padding: 10px;
    }

    .workflow-cta-btn {
        flex: 1;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        text-decoration: none;
        text-align: center;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    a.workflow-cta-btn.workflow-cta-primary,
    a.workflow-cta-btn.workflow-cta-primary:link,
    a.workflow-cta-btn.workflow-cta-primary:visited {
        background: #04AA6D;
        color: #ffffff !important;
        border: none !important;
    }

    .workflow-cta-primary:hover {
        background: #059862;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(4, 170, 109, 0.3);
        color: #fff !important;
    }

    .workflow-cta-row .workflow-cta-outline,
    .entry-content .workflow-cta-outline {
        background: transparent;
        color: #6366f1 !important;
        border: 2px solid #6366f1 !important;
        border-bottom: 2px solid #6366f1 !important;
    }

    .workflow-cta-outline:hover {
        background: #6366f1;
        color: #fff !important;
    }

    @media (max-width: 600px) {
        .workflow-cta-row {
            flex-direction: column;
        }
    }
</style>

<!-- Scripts -->
<script src="https://code.iconify.design/3/3.1.0/iconify.min.js"></script>


</div>

<div class="problem-section">

<h2 class="wp-block-heading">Varför det här spelar roll: röstmeddelanden går inte att söka i</h2>



<p>Röstmeddelanden känns snabba i stunden. Men senare blir de friktion. Någon frågar: “Vad sa kunden om prissättningen?” och plötsligt sitter du och skrollar i ljud, höjer volymen, spolar tillbaka och hoppas att du fångar det viktiga. Multiplicera det med en intensiv vecka av teamchattar så får du en tyst tidskostnad. Det värsta är kontextförlusten: beslut hamnar aldrig i era dokument, och uppföljningar missas eftersom den “riktiga informationen” låg i ljud.</p>



<p>Det blir snabbt mycket. Här är var det oftast faller ihop.</p>



<ul class="wp-block-list">
<li>Folk slutar dokumentera eftersom det är irriterande att spela upp ljud, så kunskap blir kvarlåst i Telegram.</li>


<li>Manuell transkribering är långsam och felkänslig, särskilt när flera pratar eller accenter varierar.</li>


<li>Ett långt röstmeddelande kan överskrida Telegrams gräns på 4&nbsp;000 tecken vid transkribering, så texten kapas eller skickas aldrig.</li>


<li>Utan åtkomstkontroll kan vem som helst trigga transkriberingar och bränna AI-krediter (ibland av misstag).</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="solution-results-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Vad du bygger: säker röst-till-text i Telegram</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Det här flödet gör om Telegram-röstmeddelanden till läsbara text-svar, automatiskt. Det startar när någon postar ett röstmeddelande eller en ljudfil i din Telegram-grupp, verifierar att avsändaren får använda transkriberingstjänsten och fortsätter sedan. Om meddelandet innehåller ljud i ett format som stöds laddar n8n ner filen och skickar den till OpenAI för transkribering (med en snabb “transkribering startad”-notis så att ingen behöver gissa). Om OpenAI ger fel skickar flödet samma fil vidare till Gemini som backup. Till sist postas den transkriberade texten tillbaka i chatten, och långa transkript delas upp i flera meddelanden så att inget kapas.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Flödet är enkelt i praktiken. Telegram triggar körningen, åtkomstkontroll håller användningen i schack och AI sköter transkriberingen. Sedan formaterar n8n resultatet efter Telegrams begränsningar och levererar det direkt där teamet redan jobbar.</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Det här bygger du</h3>
<!-- /wp:heading -->

<!-- wp:html -->
<table class="solution-results-table" role="presentation" aria-label="Workflow automation features and results comparison">
 <thead>
    <tr>
      <th scope="col">Vad som automatiseras</th>
      <th scope="col">Vad du uppnår</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Lyssnar efter nya Telegram-röstmeddelanden och ljudfiler i en grupp.</li>
          <li>Blockerar obehöriga användare innan några AI-anrop sker.</li>
          <li>Skickar ljud till OpenAI för transkribering och växlar till Gemini om det misslyckas.</li>
          <li>Delar upp långa transkript i Telegram-vänliga delar och postar dem tillbaka.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>Gör ett röstmeddelande på 2 minuter till text på ungefär en minut.</li>
          <li>Får sökbara, kopierbara anteckningar utan att spela upp ljud igen.</li>
          <li>Undviker “meddelandet är för långt”-fel genom automatisk uppdelning över 4&nbsp;000 tecken.</li>
          <li>Håller kostnader förutsägbara eftersom bara godkända avsändare kan trigga körningar.</li>
          <li>Kan luta dig mot en backup-väg för transkribering när en leverantör har en dålig dag.</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>
<!-- /wp:html -->
</div>

<div class="example-in-practice">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Förväntade resultat</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Säg att teamet får 10 röstmeddelanden om dagen och att varje tar cirka 3 minuter att spela upp, pausa och skriva in i något användbart. Det är ungefär 30 minuter dagligen, och det är oftast de sämsta 30 minuterna eftersom det avbryter riktigt arbete. Med det här flödet skickar du röstmeddelandet som vanligt, får en “startad”-notis och får sedan transkriptet tillbaka i chatten. Din manuella tid blir nära noll, och långa meddelanden kommer fortfarande fram som flera delar i stället för att misslyckas.</p>
<!-- /wp:paragraph -->
</div>

<div class="prerequisites-box">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Innan du börjar</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><strong>n8n-instans</strong> (<a href="https://n8n.partnerlinks.io/x6ioz9sbsmh9" rel="nofollow noopener" target="_blank">testa n8n Cloud gratis</a>)</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Alternativ för egen hosting</strong> om du föredrar det (<a href="https://hostinger.com/?ref=yourcode" rel="nofollow noopener" target="_blank">Hostinger fungerar bra</a>)</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Telegram</strong> för att ta emot röstmeddelanden och posta transkript.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>OpenAI</strong> för att transkribera ljud med Whisper.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Google Gemini</strong> som backup-transkribering om OpenAI misslyckas.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>OpenAI API-nyckel</strong> (hämta den i din OpenAI-dashboard).</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><strong>Kunskapsnivå:</strong> Medel. Du kopplar Telegram + AI-uppgifter och justerar sedan några regler (behöriga användare, format och hur utdata ska hanteras).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em>Vill du att någon bygger det här åt dig? <a href="#expert-consultation" class="expert-popup-trigger">Prata med en automationsexpert</a> (gratis 15-minuters konsultation).</em></p>
<!-- /wp:paragraph -->
</div>

<div class="how-it-works-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Steg för steg</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Ett Telegram-meddelande kommer in.</strong> Flödet triggas av nya meddelanden i din grupp och fångar avsändardetaljer plus meddelandetyp (röstmeddelande, ljudfil eller bara text).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Åtkomst kontrolleras direkt.</strong> En “if”-regel verifierar avsändaren mot en godkänd lista. Om de inte är behöriga svarar n8n med ett åtkomst nekad-meddelande och stoppar, vilket innebär att du inte slösar AI-krediter på slumpmässiga förfrågningar.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Ljud upptäcks och valideras.</strong> Flödet avgör om det finns en fil att transkribera, hämtar rätt Telegram-file ID och kontrollerar ljudformatet (OGG-röstmeddelanden, MP3, M4A/MP4 och andra typer som stöds). Om det inte finns något ljud eller om formatet är okänt skickar det en tydlig varning tillbaka till chatten.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Transkriberingen körs, med fallback.</strong> n8n laddar ner filen och skickar den till OpenAI för transkribering samtidigt som den postar en snabb “startad”-notis. Om OpenAI ger fel routar flödet automatiskt samma fil till Gemini och mappar sedan textresultatet till en gemensam utdatavariabel så att resten av flödet beter sig likadant.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Transkriptet levereras säkert.</strong> Om transkriberingen är under Telegrams gräns på 4&nbsp;000 tecken postas den en gång. Om den är längre delar ett kodsteg upp den i läsbara delar och skickar flera meddelanden i följd.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Du kan enkelt justera listan över behöriga användare så att den matchar ditt team, eller ändra hur uppdelningen fungerar utifrån er chattstil. Se hela implementationsguiden nedan för anpassningsalternativ.</p>
<!-- /wp:paragraph -->
</div>

<div class="implementation-guide-section">

    <div class="workflow-article-implementation">

        <!-- Step 1: Always visible -->
        <div class="implementation-visible">
            <div class="implementation-guide-content">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Steg-för-steg-guide för implementation</h2>
<!-- /wp:heading -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 1: Konfigurera Telegram-triggern</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Sätt upp startpunkten som lyssnar efter inkommande Telegram-meddelanden och startar arbetsflödet.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Lägg till och öppna <strong>Incoming Telegram Trigger</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Ställ in <strong>Updates</strong> till <code>message</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Credential Required:</strong> Anslut era telegramApi-inloggningsuppgifter.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:html -->
<div class="tip-box">
<p><strong>Tips:</strong> Säkerställ att er Telegram-bot redan är skapad och tillåts ta emot meddelanden från de användare ni planerar att auktorisera.</p>
</div>
<!-- /wp:html -->
<!-- wp:heading {"level":3} -->
        </div>

                    <!-- Steps 2+: Gated behind email -->
            <div class="implementation-gated-wrapper">
                <div class="implementation-gated-content">
                    <h3 class="wp-block-heading">Steg 2: Validera avsändare och identifiera meddelandetyp</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Spärra åtkomst till boten och routa meddelanden beroende på om de innehåller röst- eller ljudfiler.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Öppna <strong>Validate Sender Access</strong> och ställ in villkoren så att endast auktoriserade användare tillåts, med <code>={{ $json.message.from.username }}</code> och tillåtna värden <code>User 2</code> och <code>User 1</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Bekräfta att <strong>Validate Sender Access</strong> routar till <strong>Detect Message Type</strong> på true-grenen och till <strong>Send Access Denied</strong> på false-grenen.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Detect Message Type</strong>, verifiera att reglerna kontrollerar voice- och audio-objekt med <code>={{ $json.message.voice }}</code> och <code>={{ $json.message.audio }}</code>, och behåll <strong>Fallback Output</strong> inställd på <code>extra</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Bekräfta att <strong>Detect Message Type</strong> routar till <strong>Set Voice File ID</strong>, <strong>Set Audio File ID</strong> eller <strong>Alert Missing File</strong> beroende på meddelandets innehåll.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:html -->
<div class="warning-box">
<p><strong>⚠️ Vanlig fallgrop:</strong> Om användarnamnet i <strong>Validate Sender Access</strong> inte exakt matchar avsändarens Telegram-användarnamn (skiftlägeskänsligt), kommer arbetsflödet alltid att routa till <strong>Send Access Denied</strong>.</p>
</div>
<!-- /wp:html -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 3: Förbered fil-ID:n och validera ljudformat</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Extrahera fil-ID från meddelandet och tvinga igenom accepterade ljud-MIME-typer innan ni laddar ner filen.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>I <strong>Set Voice File ID</strong>, sätt tilldelningen <strong>file_id</strong> till <code>={{ $json.message.voice.file_id }}</code> och aktivera <strong>Include Other Fields</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Set Audio File ID</strong>, sätt tilldelningen <strong>file_id</strong> till <code>={{ $json.message.audio.file_id }}</code> och aktivera <strong>Include Other Fields</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Validate Audio Format</strong>, behåll MIME-kontrollerna för <code>audio/ogg</code>, <code>audio/mpeg</code>, <code>audio/mp4</code> och <code>audio/m4a</code> med uttrycken som refererar till <strong>Incoming Telegram Trigger</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Bekräfta att false-grenen i <strong>Validate Audio Format</strong> routar till <strong>Warn Unrecognized File</strong>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:paragraph -->
<p><strong>Credential Required:</strong> Anslut era telegramApi-inloggningsuppgifter till alla Telegram-åtgärdsnoder (totalt 8) inklusive <strong>Send Access Denied</strong>, <strong>Alert Missing File</strong>, <strong>Warn Unrecognized File</strong>, <strong>Notify Start Transcription</strong>, <strong>Retrieve File for GPT</strong>, <strong>Fetch File for Gemini</strong>, <strong>Send Transcript Output</strong> och <strong>Send Chunked Output</strong>.</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 4: Hämta filen och kör parallell transkribering</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Ladda ner mediefilen och starta både transkriberingsprocessen och en användarnotis parallellt.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>I <strong>Retrieve File for GPT</strong>, ställ in <strong>Resource</strong> till <code>file</code> och <strong>File ID</strong> till <code>={{ $json.file_id }}</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Retrieve File for GPT</strong> ger utdata till både <strong>OpenAI Transcription</strong> och <strong>Notify Start Transcription</strong> parallellt.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Notify Start Transcription</strong>, ställ in <strong>Text</strong> till <code>Starting transcription. Please wait.</code> och <strong>Chat ID</strong> till <code>={{ $('Incoming Telegram Trigger').item.json.message.chat.id }}</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Credential Required:</strong> Anslut era openAiApi-inloggningsuppgifter till <strong>OpenAI Transcription</strong>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:html -->
<div class="tip-box">
<p><strong>Tips:</strong> Parallell körning säkerställer att användaren notifieras direkt medan transkriberingen startar i bakgrunden.</p>
</div>
<!-- /wp:html -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 5: Konfigurera Gemini-fallback och mappa transkriberingstext</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Skicka filen till Gemini och normalisera båda transkriberingsutdata till ett konsekvent <code>text</code>-fält.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>I <strong>Fetch File for Gemini</strong>, ställ in <strong>Resource</strong> till <code>file</code> och <strong>File ID</strong> till <code>={{ $('Retrieve File for GPT').item.json.result.file_id }}</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Gemini Transcription</strong>, ställ in <strong>Resource</strong> till <code>audio</code>, <strong>Input Type</strong> till <code>binary</code> och <strong>Binary Property Name</strong> till <code>=data</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><strong>Credential Required:</strong> Anslut era googlePalmApi-inloggningsuppgifter till <strong>Gemini Transcription</strong>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Map Text Variable</strong>, ställ in <strong>text</strong> till <code>={{ $json.text }}</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Map Text Variable 2</strong>, ställ in <strong>text</strong> till <code>={{ $json.content.parts[0].text }}</code>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 6: Routen baserat på textlängd och skicka utdata</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Skicka korta transkript som ett enda meddelande och dela upp långa transkript i chunkar.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>I <strong>Check Text Length</strong>, behåll villkoret <code>={{ $json["text"].length }}</code> <strong>lt</strong> <code>4000</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>På true-grenen, skicka utdata via <strong>Send Transcript Output</strong> med <strong>Text</strong> inställd på <code>={{ $json.text }}</code> och <strong>Chat ID</strong> inställd på <code>={{ $('Incoming Telegram Trigger').item.json.message.chat.id }}</code>.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>På false-grenen, använd <strong>Split Text Chunks</strong> med den angivna JavaScript-koden för att dela upp i chunkar om <code>4000</code> tecken.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>I <strong>Send Chunked Output</strong>, ställ in <strong>Text</strong> till <code>={{ $json.body }}</code> och <strong>Chat ID</strong> till <code>={{ $('Incoming Telegram Trigger').item.json.message.chat.id }}</code>.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
<!-- wp:html -->
<div class="warning-box">
<p><strong>⚠️ Vanlig fallgrop:</strong> Om <strong>Split Text Chunks</strong> ändras så att den returnerar ett annat fält än <code>body</code>, kommer <strong>Send Chunked Output</strong> att skicka tomma meddelanden.</p>
</div>
<!-- /wp:html -->
<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Steg 7: Testa och aktivera ert arbetsflöde</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Verifiera beteendet end-to-end med riktiga Telegram-meddelanden innan ni går live.</p>
<!-- /wp:paragraph -->
<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list">
<!-- wp:list-item -->
<li>Klicka på <strong>Execute Workflow</strong> och skicka en röst- eller ljudfil till er Telegram-bot.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Bekräfta att <strong>Notify Start Transcription</strong> skickar meddelandet “Starting transcription. Please wait.” omedelbart.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Kontrollera att transkriberingsutdata visas via <strong>Send Transcript Output</strong> för kort text eller via flera meddelanden från <strong>Send Chunked Output</strong> för lång text.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>När allt är verifierat, växla arbetsflödet till <strong>Active</strong> för produktion.</li>
<!-- /wp:list-item -->
</ol>
<!-- /wp:list -->
</div>                </div>
                <div class="implementation-unlock-overlay">
                    <div class="unlock-box">
                        <div class="unlock-icon">🔒</div>
                        <h4>Lås upp fullständig steg-för-steg-guide</h4>
                        <p>Få den kompletta implementeringsguiden + nedladdningsbar mall</p>
                        <button class="unlock-btn flowpast-use-template-btn">
                            Lås upp nu →
                        </button>
                    </div>
                </div>
            </div>
        
    </div>

    <style>
        /* Gated Implementation Styles */
        .implementation-gated-wrapper {
            position: relative;
            min-height: 400px;
            margin-top: 0;
        }

        .implementation-gated-content {
            filter: blur(5px);
            user-select: none;
            pointer-events: none;
            overflow: hidden;
        }

        /* Gradient fade at bottom */
        .implementation-gated-wrapper::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 200px;
            background: linear-gradient(to bottom, transparent 0%, white 80%);
            pointer-events: none;
        }

        /* Unlock overlay box */
        .implementation-unlock-overlay {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 10;
            width: 100%;
            max-width: 400px;
            padding: 0 20px;
            box-sizing: border-box;
        }

        .unlock-box {
            background: #fff;
            padding: 32px;
            border-radius: 16px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
            text-align: center;
            border: 1px solid #e5e7eb;
        }

        .unlock-icon {
            font-size: 48px;
            margin-bottom: 16px;
        }

        .unlock-box h4 {
            margin: 0 0 8px 0;
            font-size: 20px;
            font-weight: 700;
            color: #1f2937;
        }

        .unlock-box p {
            margin: 0 0 20px 0;
            font-size: 14px;
            color: #6b7280;
        }

        .unlock-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: 100%;
            padding: 16px 32px;
            background: transparent;
            color: #6366f1 !important;
            border: 2px solid #6366f1;
            border-radius: 8px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .unlock-btn:hover {
            background: #6366f1;
            color: #ffffff !important;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
        }

        /* When unlocked (cookie set) - hide gate, show content */
        body.flowpast-unlocked .implementation-gated-content {
            filter: none;
            user-select: auto;
            pointer-events: auto;
            max-height: none;
        }

        body.flowpast-unlocked .implementation-gated-wrapper::after {
            display: none;
        }

        body.flowpast-unlocked .implementation-unlock-overlay {
            display: none;
        }

        /* Mobile responsive */
        @media (max-width: 600px) {
            .unlock-box {
                padding: 24px 20px;
            }

            .unlock-box h4 {
                font-size: 18px;
            }

            .unlock-btn {
                padding: 14px 24px;
                font-size: 15px;
            }
        }
    </style>


</div>

<div class="common-gotchas">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Felsökningstips</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li>Telegram-uppgifter kan gå ut eller kräva rätt bot-behörigheter. Om meddelanden inte tas emot eller skickas, kontrollera först din Telegram-botåtkomst i n8n:s Credentials.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Om du använder Wait-liknande timing någon annanstans i din arbetsyta eller förlitar dig på externa transkriberingssvar varierar behandlingstider. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li>Standardprompter och inställningar i AI-noder kan vara generiska. Om du vill ha konsekvent formatering (punkter, action points, talar-etiketter) ska du definiera den utdatastilen tidigt, annars kommer du att behöva städa transkript manuellt.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="related-workflows-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Nästa steg</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Om du gillar upplevelsen av “svara i chatten” men vill ha renare formatering för människor är <a href="https://nodenordic.se/n8n/telegram-plus-openai-whisper-lasbara-rostnoter">Telegram + OpenAI Whisper: läsbara svar på röstmeddelanden</a> en naturlig följeslagare för att snygga till hur transkript ser ut i intensiva trådar.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>För team som vill ha ett sökbart arkiv utanför Telegram hjälper <a href="https://nodenordic.se/n8n/telegram-till-google-sheets-rostnoter-blir-sokbara">Telegram till Google Sheets, röstmeddelanden blir sökbara</a> dig att bygga en enkel transkriptdatabas du kan filtrera på kund, datum eller projekt.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>När “transkribera det” bara är halva målet och du också behöver en löpande kunskapsbas är <a href="https://nodenordic.se/n8n/telegram-till-google-docs-sokbar-rostanteckningslogg">Telegram till Google Docs, sökbar logg för röstmeddelanden</a> perfekt för mötesanteckningar, researchloggar och beslutsspår.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Behöver du något mer operativt efter att transkripten flyter? <a href="https://nodenordic.se/n8n/telegram-till-google-kalender-moten-via-chatten">Telegram till Google Calendar, möten hanteras i chatten</a> är användbart när röstmeddelanden ofta innehåller “vi bokar det”-ögonblick som bör bli riktiga kalenderhändelser.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Slutligen, om teamet använder Telegram som ett kommandocenter visar <a href="https://nodenordic.se/n8n/telegram-till-home-assistant-styr-hemmet-via-chatt">Telegram till Home Assistant, styr ditt smarta hem via chatt</a> samma mönster med åtkomstkontroll och tillförlitliga åtgärder, fast riktat mot enheter i stället för transkript.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Snabbreferens:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-plus-openai-whisper-lasbara-rostnoter">Telegram + OpenAI Whisper: läsbara svar på röstmeddelanden</a>: Renare formatering av transkript i chatten.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-till-google-sheets-rostnoter-blir-sokbara">Telegram till Google Sheets, röstmeddelanden blir sökbara</a>: Logga transkript till ett kalkylarksarkiv.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-till-home-assistant-styr-hemmet-via-chatt">Telegram till Home Assistant, styr ditt smarta hem via chatt</a>: Kör enhetsåtgärder från Telegram.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-till-google-docs-sokbar-rostanteckningslogg">Telegram till Google Docs, sökbar logg för röstmeddelanden</a>: Behåll ett sökbart transkriptdokument.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://nodenordic.se/n8n/telegram-till-google-kalender-moten-via-chatten">Telegram till Google Calendar, möten hanteras i chatten</a>: Förvandla chattförfrågningar till kalenderhändelser.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Snabba svar</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Hur lång tid tar det att sätta upp den här Telegram-automationen för transkribering?</span>
<!-- wp:paragraph -->
<p class="answer">Cirka 30 minuter om din Telegram-bot och dina API-nycklar är klara.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Krävs det kodning för att få det här röst-till-text-resultatet?</span>
<!-- wp:paragraph -->
<p class="answer">Nej. Du kopplar mest konton och redigerar några enkla regler. Den enda “kod”-delen finns redan med för att dela upp lång text.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Är n8n gratis att använda för det här Telegram-flödet för transkribering?</span>
<!-- wp:paragraph -->
<p class="answer">Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på <a href="https://n8n.partnerlinks.io/x6ioz9sbsmh9" rel="nofollow noopener" target="_blank">n8n Cloud</a>. Cloud-planer börjar på 20&nbsp;$/månad för högre volym. Du behöver också räkna in API-användning för OpenAI och Gemini (de flesta team tycker att det är billigt för röstmeddelanden).</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Var kan jag hosta n8n för att köra den här automationen?</span>
<!-- wp:paragraph -->
<p class="answer">Två alternativ: <a href="https://n8n.partnerlinks.io/x6ioz9sbsmh9" rel="nofollow noopener" target="_blank">n8n Cloud</a> (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är <a href="https://hostinger.com/?ref=yourcode" rel="nofollow noopener" target="_blank">Hostinger VPS</a> prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Kan jag anpassa det här Telegram-flödet för transkribering för andra användningsfall?</span>
<!-- wp:paragraph -->
<p class="answer">Ja, och det bör du. Du kan ändra kontrollen av behöriga användare i steget “Validate Sender Access”, byta transkriberingsleverantör genom att justera noderna för OpenAI och Gemini och finjustera logiken i “Split Text Chunks” om du vill ha kortare svar eller annan formatering (till exempel action points först).</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Varför fungerar inte min Telegram-anslutning i det här flödet?</span>
<!-- wp:paragraph -->
<p class="answer">Oftast handlar det om bot-behörigheter eller att en credential i n8n har gått ut. Bekräfta att din bot är med i gruppen, kan läsa meddelanden och kan posta svar, och spara sedan om Telegram-credentialn. Om det triggar men inte kan ladda ner filer kan file ID-mappningen vara fel för meddelandetypen (voice vs audio), så kontrollera meddelandedetektering samt stegen “Set Voice File ID / Set Audio File ID”.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Vilken volym kan det här Telegram-flödet för transkribering hantera?</span>
<!-- wp:paragraph -->
<p class="answer">I n8n Cloud beror det på planens månatliga körningar, och varje transkribering är typiskt en körning. Om du kör egen hosting finns ingen gräns för körningar, så den verkliga begränsningen blir din server och API:ernas rate limits. I praktiken klarar de flesta små team dussintals röstmeddelanden per dag utan att tänka på det. Om du transkriberar långt ljud hela dagen vill du ha köhantering och bättre övervakning.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Är den här Telegram-automationen för transkribering bättre än att använda Zapier eller Make?</span>
<!-- wp:paragraph -->
<p class="answer">Ofta, ja. n8n hanterar grenad logik (åtkomstkontroll, detektering av meddelandetyp, fallback till Gemini och uppdelning) utan att göra din automation till ett spaghetti-monster. Du får också möjlighet till egen hosting, vilket är viktigt om du förväntar dig hög volym eller vill ha förutsägbara kostnader. Zapier och Make kan fortfarande fungera om behoven är enkla, men det här flödet har tillräckligt många “if” för att pris och komplexitet lätt kan dra iväg. Om du är osäker: <a href="#expert-consultation" class="expert-popup-trigger">Prata med en automationsexpert</a> och beskriv din volym samt dina säkerhetskrav.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Hur lång tid tar det att sätta upp den här Telegram-automationen för transkribering?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Cirka 30 minuter om din Telegram-bot och dina API-nycklar är klara."
      }
    },
    {
      "@type": "Question",
      "name": "Krävs det kodning för att få det här röst-till-text-resultatet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nej. Du kopplar mest konton och redigerar några enkla regler. Den enda “kod”-delen finns redan med för att dela upp lång text."
      }
    },
    {
      "@type": "Question",
      "name": "Är n8n gratis att använda för det här Telegram-flödet för transkribering?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 $/månad för högre volym. Du behöver också räkna in API-användning för OpenAI och Gemini (de flesta team tycker att det är billigt för röstmeddelanden)."
      }
    },
    {
      "@type": "Question",
      "name": "Var kan jag hosta n8n för att köra den här automationen?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering."
      }
    },
    {
      "@type": "Question",
      "name": "Kan jag anpassa det här Telegram-flödet för transkribering för andra användningsfall?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja, och det bör du. Du kan ändra kontrollen av behöriga användare i steget “Validate Sender Access”, byta transkriberingsleverantör genom att justera noderna för OpenAI och Gemini och finjustera logiken i “Split Text Chunks” om du vill ha kortare svar eller annan formatering (till exempel action points först)."
      }
    },
    {
      "@type": "Question",
      "name": "Varför fungerar inte min Telegram-anslutning i det här flödet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oftast handlar det om bot-behörigheter eller att en credential i n8n har gått ut. Bekräfta att din bot är med i gruppen, kan läsa meddelanden och kan posta svar, och spara sedan om Telegram-credentialn. Om det triggar men inte kan ladda ner filer kan file ID-mappningen vara fel för meddelandetypen (voice vs audio), så kontrollera meddelandedetektering samt stegen “Set Voice File ID / Set Audio File ID”."
      }
    },
    {
      "@type": "Question",
      "name": "Vilken volym kan det här Telegram-flödet för transkribering hantera?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "I n8n Cloud beror det på planens månatliga körningar, och varje transkribering är typiskt en körning. Om du kör egen hosting finns ingen gräns för körningar, så den verkliga begränsningen blir din server och API:ernas rate limits. I praktiken klarar de flesta små team dussintals röstmeddelanden per dag utan att tänka på det. Om du transkriberar långt ljud hela dagen vill du ha köhantering och bättre övervakning."
      }
    },
    {
      "@type": "Question",
      "name": "Är den här Telegram-automationen för transkribering bättre än att använda Zapier eller Make?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ofta, ja. n8n hanterar grenad logik (åtkomstkontroll, detektering av meddelandetyp, fallback till Gemini och uppdelning) utan att göra din automation till ett spaghetti-monster. Du får också möjlighet till egen hosting, vilket är viktigt om du förväntar dig hög volym eller vill ha förutsägbara kostnader. Zapier och Make kan fortfarande fungera om behoven är enkla, men det här flödet har tillräckligt många “if” för att pris och komplexitet lätt kan dra iväg. Om du är osäker: Prata med en automationsexpert och beskriv din volym samt dina säkerhetskrav."
      }
    }
  ]
}
</script>

</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>När det här väl rullar slutar röstmeddelanden vara “förlorad kontext” och blir användbar dokumentation. Sätt upp det en gång och låt flödet göra det tråkiga jobbet.</p>
<!-- /wp:paragraph -->
</div><p>&lt;p&gt;The post <a rel="nofollow" href="https://nodenordic.se/n8n/telegram-plus-openai-rostmeddelanden-till-sokbar-text/">Telegram + OpenAI: röstmeddelanden till sökbar text</a> first appeared on <a rel="nofollow" href="https://nodenordic.se">Node Nordic - AI Konsult för företag</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
