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

# Wöchentliche Statusübersicht in Notion

export const UseCaseHero = ({title, description, prompt, category, features, devinUrl, agent, intent, playbookId, type}) => {
  const encodedPrompt = encodeURIComponent(prompt || '');
  const tag = 'docs-use-case-gallery';
  const utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=hero-cta';
  const agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  const devinHref = type === 'schedule' ? 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + (prompt ? '&prompt=' + encodedPrompt : '') : type === 'review' ? 'https://app.devin.ai/review?' + utm : agent === 'ada' ? 'https://app.devin.ai/search?' + utm + '&noSubmit=true' + (prompt ? '&prompt=' + encodedPrompt : '') : devinUrl ? devinUrl.includes('?') ? devinUrl + '&' + utm + agentParams : devinUrl + '?' + utm + agentParams : prompt ? 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encodedPrompt : 'https://app.devin.ai/?' + utm + agentParams;
  const buttonLabel = type === 'schedule' ? 'Schedule in Devin ↗' : type === 'review' ? 'Set Up Devin Review ↗' : agent === 'advanced' ? 'Try in Devin ↗' : agent === 'dana' ? 'Try in Dana ↗' : agent === 'ada' ? 'Try in Ask Devin ↗' : 'Try in Devin ↗';
  const featureList = features ? features.split(',').map(f => f.trim()) : [];
  return <div className="uc-hero">
      <div className="uc-hero-inner">
        <div className="uc-hero-left">
          <h1 className="uc-hero-title">{title}</h1>
          <p className="uc-hero-desc">{description}</p>
          <div>
            <a href={devinHref} target="_blank" rel="noopener noreferrer" className="try-in-devin-btn">
              {buttonLabel}
            </a>
          </div>
        </div>
        <div className="uc-hero-meta">
          <div className="uc-meta-item">
            <span className="uc-meta-label">Author</span>
            <span className="uc-meta-value">Cognition</span>
          </div>
          <div className="uc-meta-item">
            <span className="uc-meta-label">Category</span>
            <span className="uc-meta-value">{category}</span>
          </div>
          {featureList.length > 0 && <div className="uc-meta-item">
              <span className="uc-meta-label">Features</span>
              <span className="uc-meta-value">{featureList.join(', ')}</span>
            </div>}
        </div>
      </div>
    </div>;
};

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<UseCaseHero title="Wöchentliche Statuszusammenfassung in Notion" description="Eine geplante Devin-Session fasst aktuelle Pull Requests (PRs) und Commits zusammen und postet jede Woche ein formatiertes Status-Update auf deiner Notion-Seite." prompt="Überprüfe die letzten 7 Tage der gemergten PRs und Commits in unseren Repositories. Fasse zusammen, was ausgeliefert wurde, was in Arbeit ist und welche Blocker es gibt. Aktualisiere die Notion-Seite „Engineering Status“ mit einem neuen datierten Abschnitt." category="Automatisierungen" features="Zeitpläne, MCP" type="schedule" />

<div className="uc-detail-wrapper">
  <Tip>Möchtest du das nicht manuell einrichten? Füge einen Link zu dieser Seite in eine Devin-Session ein und bitte Devin, alles für dich einzurichten.</Tip>

  <Steps>
    <Step title="Notion-MCP verbinden">
      Devin benötigt Schreibzugriff auf deinen Notion-Workspace, um Statusseiten zu aktualisieren. Gehe zu **Settings > Connections > MCP servers**, suche **Notion** und klicke auf **Enable**. Du wirst aufgefordert, einen OAuth-Flow abzuschließen – verwende dafür ein Servicekonto statt deines persönlichen Notion-Kontos, da der Zugriff in deiner Organisation geteilt wird.

      Sobald die Verbindung hergestellt ist, überprüfe sie, indem du eine kurze Devin-Session startest:

      <PromptBlock>
        ```txt Notion-Verbindung testen theme={null}
        Finde die Notion-Seite mit dem Titel "Engineering Status" und liste ihren Inhalt auf.
        ```
      </PromptBlock>

      Wenn Devin deine Statusseite findet, bist du bereit. Falls nicht, überprüfe, ob die Notion-Integration Zugriff auf die richtigen Seiten hat – öffne in Notion die Seite, klicke auf **...** > **Connections** und füge die Integration hinzu.
    </Step>

    <Step title="Prompt für das Status-Update schreiben">
      Dein Prompt sagt Devin, welche Repositories geprüft werden sollen, was zusammengefasst werden soll und wo das Ergebnis geschrieben werden soll. Sei konkret in Bezug auf die Notion-Seite und das gewünschte Format.

      <PromptBlock type="schedule">
        ```txt Wöchentliches Status-Update theme={null}
        Überprüfe die letzten 7 Tage der gemergten PRs und Commits in unseren Repositories
        (acme/web-app, acme/api-server, acme/infra).

        Fasse die übergeordneten Projektbereiche zusammen, in denen es Aktivitäten gab, und liste die
        Beitragenden für jeden Bereich auf. Aktualisiere die Notion-Seite "Engineering Status", indem du
        oben einen neuen datierten Abschnitt hinzufügst.
        ```
      </PromptBlock>
    </Step>

    <Step title="Wöchentliche Ausführung planen">
      Gehe zu [**Settings > Schedules**](/de/product-guides/scheduled-sessions) und klicke auf **Create schedule**.

      * **Name**: `Weekly Engineering Status Update`
      * **Schedule type**: Wiederkehrend
      * **Frequency**: Wöchentlich – Montag um 8:00 Uhr (vor dem Standup)
      * **Prompt**: Füge den Prompt aus dem vorherigen Schritt ein
      * **Email notifications**: Setze auf **On failure only**, damit du benachrichtigt wirst, falls etwas schiefgeht
      * **Slack channel** (optional): Wähle einen Channel für Sitzungsbenachrichtigungen – nützlich, um dein Team zu benachrichtigen, wenn die Statusseite aktualisiert wurde

      Klicke auf **Save**. Devin führt diese Session nun jeden Montagmorgen automatisch aus. Jede Ausführung erscheint unter **Past Sessions** auf der Detailseite des Zeitplans, sodass du überprüfen kannst, was Devin gepostet hat.

      Bevor du dich auf den Zeitplan verlässt, führe ihn einmal manuell als reguläre Session aus, um zu verifizieren, dass die Notion-Ausgabe korrekt aussieht. Passe den Prompt basierend auf den Ergebnissen an – wenn Devin zum Beispiel zu viele Details pro PR einfügt, füge „keep descriptions under 15 words.“ hinzu.
    </Step>
  </Steps>
</div>
