> ## 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.

# Informe semanal de estado en 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="Resumen semanal de estado en Notion" description="Una sesión programada de Devin resume las pull requests (PR) recientes y los commits, y luego publica un estado con formato en tu página de Notion cada semana." prompt="Revisa los últimos 7 días de PR fusionadas y commits en todos nuestros repositorios. Resume qué se ha desplegado, qué está en progreso y cualquier bloqueo. Actualiza la página &#x22;Engineering Status&#x22; en Notion con una nueva sección con fecha." category="Automatizaciones" features="Programaciones, MCP" type="schedule" />

<div className="uc-detail-wrapper">
  <Tip>¿No quieres configurar esto manualmente? Pega un enlace a esta página en una sesión de Devin y pídele que lo configure todo por ti.</Tip>

  <Steps>
    <Step title="Conecta el MCP de Notion">
      Devin necesita acceso de escritura a tu espacio de trabajo de Notion para actualizar las páginas de estado. Ve a **Settings > Connections > servidores MCP**, busca **Notion** y haz clic en **Enable**. Se te pedirá completar un flujo de OAuth; usa una cuenta de servicio en lugar de tu cuenta personal de Notion, ya que el acceso se comparte en toda tu organización.

      Una vez conectado, verifica que funcione iniciando una sesión rápida con Devin:

      <PromptBlock>
        ```txt Probar conexión con Notion theme={null}
        Busca la página de Notion titulada "Engineering Status" y enumera su contenido.
        ```
      </PromptBlock>

      Si Devin encuentra tu página de estado, todo está listo. Si no, verifica que la integración de Notion tenga acceso a las páginas correctas; en Notion, abre la página, haz clic en **...** > **Connections** y agrega la integración.
    </Step>

    <Step title="Escribe el prompt para la actualización de estado">
      Tu prompt le indica a Devin qué repositorios revisar, qué debe resumir y dónde escribir el resultado. Sé específico sobre la página de Notion y el formato que quieres.

      <PromptBlock type="schedule">
        ```txt Actualización semanal de estado theme={null}
        Revisa los últimos 7 días de PR fusionadas y commits en nuestros repositorios
        (acme/web-app, acme/api-server, acme/infra).

        Resume las áreas de proyecto de alto nivel en las que hubo actividad y
        enumera las personas colaboradoras en cada una. Actualiza la página de
        Notion "Engineering Status" agregando una nueva sección con fecha al inicio.
        ```
      </PromptBlock>
    </Step>

    <Step title="Programa la ejecución semanal">
      Ve a [**Settings > Schedules**](/es/product-guides/scheduled-sessions) y haz clic en **Create schedule**.

      * **Name**: `Weekly Engineering Status Update`
      * **Schedule type**: Recurring
      * **Frequency**: Weekly — Monday at 8:00 AM (antes del standup)
      * **Prompt**: Pega el prompt del paso anterior
      * **Email notifications**: Configura en **On failure only** para que recibas una alerta si algo sale mal
      * **Slack channel** (opcional): Selecciona un canal al que enviar las notificaciones de la sesión; es útil para avisar a tu equipo cuando se actualiza la página de estado

      Haz clic en **Save**. Devin ahora ejecutará esta sesión automáticamente cada lunes por la mañana. Cada ejecución aparece en **Past Sessions** en la página de detalle de la programación, para que puedas revisar lo que publicó Devin.

      Antes de depender de la programación, ejecútala una vez manualmente como una sesión normal para verificar que la salida en Notion se vea correcta. Ajusta el prompt según los resultados; por ejemplo, si Devin incluye demasiado detalle por PR, agrega «mantén las descripciones por debajo de 15 palabras».
    </Step>
  </Steps>
</div>
