Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,33 @@
{
"extends": [
"../../../../.eslintrc.base.json"
],
"ignorePatterns": [
"!**/*"
],
"overrides": [
{
"files": [
"*.ts",
"*.tsx",
"*.js",
"*.jsx"
],
"rules": {}
},
{
"files": [
"*.ts",
"*.tsx"
],
"rules": {}
},
{
"files": [
"*.js",
"*.jsx"
],
"rules": {}
}
]
}

View File

@@ -0,0 +1,7 @@
# pieces-microsoft-onenote
This library was generated with [Nx](https://nx.dev).
## Building
Run `nx build pieces-microsoft-onenote` to build the library.

View File

@@ -0,0 +1,11 @@
{
"name": "@activepieces/piece-microsoft-onenote",
"version": "0.0.11",
"type": "commonjs",
"main": "./src/index.js",
"types": "./src/index.d.ts",
"dependencies": {
"tslib": "^2.3.0",
"@microsoft/microsoft-graph-client": "3.0.7"
}
}

View File

@@ -0,0 +1,65 @@
{
"name": "pieces-microsoft-onenote",
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/pieces/community/microsoft-onenote/src",
"projectType": "library",
"release": {
"version": {
"manifestRootsToUpdate": [
"dist/{projectRoot}"
],
"currentVersionResolver": "git-tag",
"fallbackCurrentVersionResolver": "disk"
}
},
"tags": [],
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": [
"{options.outputPath}"
],
"options": {
"outputPath": "dist/packages/pieces/community/microsoft-onenote",
"tsConfig": "packages/pieces/community/microsoft-onenote/tsconfig.lib.json",
"packageJson": "packages/pieces/community/microsoft-onenote/package.json",
"main": "packages/pieces/community/microsoft-onenote/src/index.ts",
"assets": [
"packages/pieces/community/microsoft-onenote/*.md",
{
"input": "packages/pieces/community/microsoft-onenote/src/i18n",
"output": "./src/i18n",
"glob": "**/!(i18n.json)"
}
],
"buildableProjectDepsInPackageJsonType": "dependencies",
"updateBuildableProjectDepsInPackageJson": true
},
"dependsOn": [
"^build",
"prebuild"
]
},
"nx-release-publish": {
"options": {
"packageRoot": "dist/{projectRoot}"
}
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": [
"{options.outputFile}"
]
},
"prebuild": {
"executor": "nx:run-commands",
"options": {
"cwd": "packages/pieces/community/microsoft-onenote",
"command": "bun install --no-save --silent"
},
"dependsOn": [
"^build"
]
}
}
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote ist eine Notizenanwendung, mit der Sie Notizen erstellen, bearbeiten und mit anderen teilen können.",
"\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and ad": "\n1. Melden Sie sich bei [Microsoft Azure Portal](https://portal.azure.com/).\n. Von der linken Seitenleiste gehen Sie zur **Microsoft Enfra ID**.\n3. Unter **Verwalten** klicken Sie auf **App-Registrierungen**.\n4. Klicken Sie auf die **Neue Registrierung** Schaltfläche.\n5. Geben Sie einen **Name** für Ihre App ein.\n6. Für **unterstützte Kontotypen**, auswählen:\n - **Konten in jedem Organisationsverzeichnis (jeder Microsoft-Entra-ID-Mieter - Multitenant) und persönlichen Microsoft-Konten**\n - Oder wählen Sie nach Ihren Anforderungen aus.\n7. In **Umleitungs-URI** wählen Sie **Web** und fügen Sie die angegebene URL hinzu.\n8. Klicken Sie auf **Registrieren**.\n9. Nach der Registrierung werden Sie zur Übersichtsseite der App weitergeleitet. Kopieren Sie die **Anwendungs-(Client)-ID**.\n10. Gehen Sie aus dem linken Menü zu **Zertifikate & Geheimnis**.\n - Unter **Kundengeheimnis**, klicken Sie **Kundengeheimnis**.\n - Geben Sie eine Beschreibung an, setzen Sie ein Ablaufdatum und klicken Sie auf **Hinzufügen**.\n - Kopieren Sie den **Wert** des Client-Geheimnisses (dies wird nicht wieder angezeigt).\n11. Gehe zu **API-Berechtigungen** vom linken Menü.\n - Klicke auf **Berechtigung hinzufügen**.\n - Wähle **Microsoft Graph** → **Delegierte Berechtigungen**.\n - Fügen Sie folgende Bereiche hinzu:\n - Notizen. eadWrite\n - offline_access \n - User.Lesen Sie\n - Klicken Sie auf **Berechtigungen hinzufügen**.\n12. Kopieren Sie Ihre **Client-ID** und **Client-Geheimnis**.\n",
"Create Notebook": "Notizbuch erstellen",
"Create Section": "Abschnitt erstellen",
"Create Note in Section": "Notiz in Abschnitt erstellen",
"Create Page": "Seite erstellen",
"Create Image Note": "Bildnotiz erstellen",
"Append Note": "Notiz anhängen",
"Creates a notebook.": "Erstellt ein Notizbuch.",
"Creates a new section in notebook.": "Erstellt einen neuen Abschnitt im Notizbuch.",
"Create a new note in a specific section with title and content.": "Erstellen Sie eine neue Notiz in einem bestimmten Abschnitt mit Titel und Inhalt.",
"Creates a page in section.": "Erstellt eine Seite im Abschnitt.",
"Create a note containing an embedded image via a public image URL.": "Erstellen Sie eine Notiz mit einem eingebetteten Bild über eine öffentliche Bild-URL.",
"Append content to the end of an existing note.": "Inhalt an das Ende einer bestehenden Notiz anhängen.",
"Notebook Name": "Notizbuchname",
"Notebook": "Notizbuch",
"Section Name": "Abschnittsname",
"Section": "Abschnitt",
"Note Title": "Notiztitel",
"Note Content": "Notiz Inhalt",
"Page Title": "Seitentitel",
"Page Content": "Seiteninhalt",
"Image URL": "Bild-URL",
"Image Width": "Bildbreite",
"Image Alt Text": "Bild Alt Text",
"Description": "Beschreibung",
"Page": "Seite",
"Content Type": "Inhaltstyp",
"Content": "Inhalt",
"Heading Level": "Richtungsstufe",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "Der Name des Notizbuchs. Muss eindeutig sein und darf nicht mehr als 128 Zeichen oder die folgenden Zeichen enthalten: ?*/:<>|'%~",
"The notebook to create the section in.": "Das Notizbuch zum Erstellen des Abschnitts in.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "Der Name des Abschnitts. Muss im Notizbuch eindeutig sein und darf nicht mehr als 50 Zeichen oder die folgenden Zeichen enthalten: ?*/:<>|&#''%~",
"The notebook to create the note in.": "Das Notizbuch zum Erstellen der Notiz in.",
"The section to create the note in.": "Der Abschnitt, in dem die Notiz erstellt wird.",
"The title of the note.": "Der Titel der Notiz.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "Der Inhalt der Notiz. Verwenden Sie grundlegende HTML-Tags wie <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the page in.": "Das Notizbuch zum Erstellen der Seite.",
"The section to create the page in.": "Der Abschnitt, in dem die Seite erstellt wird.",
"The title of the page.": "Der Titel der Seite.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "Der HTML-Inhalt der Seite. Verwenden Sie grundlegende HTML-Tags wie <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the image note in.": "Das Notizbuch zum Erstellen der Bild-Notiz in.",
"The section to create the image note in.": "Der Abschnitt, in dem die Bild-Notiz erstellt wird.",
"The title of the image note page.": "Der Titel der Bildnotiz-Seite.",
"The public URL of the image to embed (must be publicly accessible).": "Die öffentliche URL des Bildes zum Einbetten (muss öffentlich zugänglich sein).",
"The width of the image in pixels (optional).": "Die Breite des Bildes in Pixeln (optional).",
"Alternative text for the image (for accessibility).": "Alternativer Text für das Bild (für Barrierefreiheit).",
"Optional description text to include with the image.": "Optionaler Beschreibungstext, der dem Bild beigefügt werden soll.",
"The notebook containing the page to append to.": "Das Notizbuch mit der anzuhängenden Seite.",
"The section containing the page to append to.": "Der Abschnitt, der die Seite angehängt werden soll.",
"The page to append content to.": "Die Seite, an die Inhalte angehängt werden.",
"The type of content to append.": "Der Typ des anzuhängenden Inhalts.",
"The content to append to the page.": "Der Inhalt, der an die Seite angefügt werden soll.",
"The heading level (only for heading content type).": "Die Überschriftenebene (nur für Überschrifteninhaltstyp).",
"Paragraph": "Absatz",
"List Item": "Listenelement",
"Heading": "Überschrift",
"Custom HTML": "Eigener HTML",
"H1": "H1",
"H2": "P2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "P6",
"New Note in Section": "Neue Notiz in Abschnitt",
"Fires when a new note is created in a specified section.": "Feuert ab, wenn eine neue Notiz in einer bestimmten Sektion erstellt wird.",
"The notebook to monitor for new notes.": "Das Notizbuch für neue Notizen.",
"The section to monitor for new notes.": "Der zu überwachende Abschnitt für neue Notizen."
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote es una aplicación para tomar notas que le permite crear, editar y compartir notas con otros.",
"\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and ad": "\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and add the given URL.\n8. Click **Register**.\n9. After registration, youll be redirected to the apps overview page. Copy the **Application (client) ID**.\n10. From the left menu, go to **Certificates & secrets**.\n - Under **Client secrets**, click **New client secret**.\n - Provide a description, set an expiry, and click **Add**.\n - Copy the **Value** of the client secret (this will not be shown again).\n11. Go to **API permissions** from the left menu.\n - Click **Add a permission**.\n - Select **Microsoft Graph** → **Delegated permissions**.\n - Add the following scopes:\n - Notes.ReadWrite\n - offline_access\n\t - User.Read\n - Click **Add permissions**.\n12. Copy your **Client ID** and **Client Secret**.\n",
"Create Notebook": "Crear Cuadro de notas",
"Create Section": "Crear sección",
"Create Note in Section": "Crear nota en la sección",
"Create Page": "Crear página",
"Create Image Note": "Crear nota de imagen",
"Append Note": "Añadir nota",
"Creates a notebook.": "Crea un cuaderno.",
"Creates a new section in notebook.": "Crea una nueva sección en el cuaderno de notas.",
"Create a new note in a specific section with title and content.": "Crear una nueva nota en una sección específica con título y contenido.",
"Creates a page in section.": "Crea una página en la sección.",
"Create a note containing an embedded image via a public image URL.": "Crear una nota que contenga una imagen incrustada a través de una URL de imagen pública.",
"Append content to the end of an existing note.": "Añadir contenido al final de una nota existente.",
"Notebook Name": "Nombre del Cuaderno",
"Notebook": "Cuadro",
"Section Name": "Nombre de sección",
"Section": "Sección",
"Note Title": "Título de nota",
"Note Content": "Contenido de Nota",
"Page Title": "Título de página",
"Page Content": "Contenido de página",
"Image URL": "URL de imagen",
"Image Width": "Ancho de imagen",
"Image Alt Text": "Texto Alt imagen",
"Description": "Descripción",
"Page": "Pgina",
"Content Type": "Tipo de contenido",
"Content": "Contenido",
"Heading Level": "Nivel de encabezado",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "El nombre del cuaderno debe ser único y no puede contener más de 128 caracteres o los siguientes caracteres: ?*/:<>|'\"%~",
"The notebook to create the section in.": "El cuaderno para crear la sección.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "El nombre de la sección. Debe ser único dentro del cuaderno y no puede contener más de 50 caracteres o los siguientes caracteres: ?*/:<>|&#''%~",
"The notebook to create the note in.": "El cuaderno para crear la nota.",
"The section to create the note in.": "La sección en la que crear la nota.",
"The title of the note.": "El título de la nota.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "El contenido de la nota. Usa etiquetas HTML básicas como <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the page in.": "El cuaderno para crear la página.",
"The section to create the page in.": "La sección en la que crear la página.",
"The title of the page.": "El título de la página.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "El contenido HTML de la página. Utilice etiquetas HTML básicas como <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the image note in.": "El cuaderno para crear la nota de imagen.",
"The section to create the image note in.": "La sección en la que crear la nota de imagen.",
"The title of the image note page.": "El título de la página de la nota de imagen.",
"The public URL of the image to embed (must be publicly accessible).": "La URL pública de la imagen a incrustar (debe ser públicamente accesible).",
"The width of the image in pixels (optional).": "El ancho de la imagen en píxeles (opcional).",
"Alternative text for the image (for accessibility).": "Texto alternativo para la imagen (para accesibilidad).",
"Optional description text to include with the image.": "Texto de descripción opcional a incluir con la imagen.",
"The notebook containing the page to append to.": "El cuaderno que contiene la página a añadir.",
"The section containing the page to append to.": "La sección que contiene la página a añadir.",
"The page to append content to.": "La página a la que añadir contenido.",
"The type of content to append.": "El tipo de contenido a añadir.",
"The content to append to the page.": "El contenido a añadir a la página.",
"The heading level (only for heading content type).": "El nivel de la rúbrica (sólo para el tipo de contenido del encabezamiento).",
"Paragraph": "Párrafo",
"List Item": "Ítem de lista",
"Heading": "Encabezado",
"Custom HTML": "HTML personalizado",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "J6",
"New Note in Section": "Nueva nota en la sección",
"Fires when a new note is created in a specified section.": "Se activa cuando se crea una nueva nota en una sección especificada.",
"The notebook to monitor for new notes.": "El cuaderno para monitorear las notas nuevas.",
"The section to monitor for new notes.": "La sección para monitorizar las nuevas notas."
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote est une application de prise de notes qui vous permet de créer, modifier et partager des notes avec d'autres.",
"\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and ad": "\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and add the given URL.\n8. Click **Register**.\n9. After registration, youll be redirected to the apps overview page. Copy the **Application (client) ID**.\n10. From the left menu, go to **Certificates & secrets**.\n - Under **Client secrets**, click **New client secret**.\n - Provide a description, set an expiry, and click **Add**.\n - Copy the **Value** of the client secret (this will not be shown again).\n11. Go to **API permissions** from the left menu.\n - Click **Add a permission**.\n - Select **Microsoft Graph** → **Delegated permissions**.\n - Add the following scopes:\n - Notes.ReadWrite\n - offline_access\n\t - User.Read\n - Click **Add permissions**.\n12. Copy your **Client ID** and **Client Secret**.\n",
"Create Notebook": "Créer un carnet",
"Create Section": "Créer une section",
"Create Note in Section": "Créer une note dans la section",
"Create Page": "Créer une page",
"Create Image Note": "Créer une note d'image",
"Append Note": "Ajouter une note",
"Creates a notebook.": "Crée un bloc-notes.",
"Creates a new section in notebook.": "Crée une nouvelle section dans le bloc-notes.",
"Create a new note in a specific section with title and content.": "Créer une nouvelle note dans une section spécifique avec le titre et le contenu.",
"Creates a page in section.": "Crée une page dans la section.",
"Create a note containing an embedded image via a public image URL.": "Créer une note contenant une image intégrée via une URL d'image publique.",
"Append content to the end of an existing note.": "Ajouter du contenu à la fin d'une note existante.",
"Notebook Name": "Nom du bloc-notes",
"Notebook": "Carnet",
"Section Name": "Nom de la section",
"Section": "Section",
"Note Title": "Titre de la note",
"Note Content": "Contenu de la note",
"Page Title": "Titre de la page",
"Page Content": "Contenu de la page",
"Image URL": "URL de l'image",
"Image Width": "Largeur de l'image",
"Image Alt Text": "Texte Alt de l'image",
"Description": "Libellé",
"Page": "Page",
"Content Type": "Type de contenu",
"Content": "Contenus",
"Heading Level": "Niveau d'en-tête",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "Le nom du bloc-notes. Doit être unique et ne peut pas contenir plus de 128 caractères ou les caractères suivants : ?*/:<>|'\"%~",
"The notebook to create the section in.": "Le bloc-notes dans lequel créer la section.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "Le nom de la section. Doit être unique dans le bloc-notes et ne peut pas contenir plus de 50 caractères ou les caractères suivants : ?*/:<>|&#''%~",
"The notebook to create the note in.": "Le bloc-notes dans lequel la note est créée.",
"The section to create the note in.": "La section dans laquelle créer la note.",
"The title of the note.": "Le titre de la note.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "Le contenu de la note. Utilisez des balises HTML de base comme <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the page in.": "Le bloc-notes dans lequel créer la page.",
"The section to create the page in.": "La section dans laquelle créer la page.",
"The title of the page.": "Le titre de la page.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "Le contenu HTML de la page. Utilisez des balises HTML de base comme <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the image note in.": "Le bloc-notes pour créer la note de l'image.",
"The section to create the image note in.": "La section dans laquelle créer la note de l'image.",
"The title of the image note page.": "Le titre de la page de note de l'image.",
"The public URL of the image to embed (must be publicly accessible).": "L'URL publique de l'image à intégrer (doit être accessible publiquement).",
"The width of the image in pixels (optional).": "La largeur de l'image en pixels (optionnel).",
"Alternative text for the image (for accessibility).": "Texte alternatif pour l'image (pour l'accessibilité).",
"Optional description text to include with the image.": "Texte de description facultatif à inclure avec l'image.",
"The notebook containing the page to append to.": "Le bloc-notes contenant la page à ajouter.",
"The section containing the page to append to.": "La section contenant la page à ajouter.",
"The page to append content to.": "La page à ajouter du contenu.",
"The type of content to append.": "Le type de contenu à ajouter.",
"The content to append to the page.": "Le contenu à ajouter à la page.",
"The heading level (only for heading content type).": "Le niveau de titre (uniquement pour le type de contenu de la rubrique).",
"Paragraph": "Paragraphe",
"List Item": "Élément de la liste",
"Heading": "Titres",
"Custom HTML": "HTML personnalisé",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "H6",
"New Note in Section": "Nouvelle note dans la section",
"Fires when a new note is created in a specified section.": "Tire lorsqu'une nouvelle note est créée dans une section spécifiée.",
"The notebook to monitor for new notes.": "Le bloc-notes à surveiller pour les nouvelles notes.",
"The section to monitor for new notes.": "La section à surveiller pour les nouvelles notes."
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote は、ノートを作成、編集、および他の人と共有することができるノートテイクアプリです。",
"\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and ad": "\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and add the given URL.\n8. Click **Register**.\n9. After registration, youll be redirected to the apps overview page. Copy the **Application (client) ID**.\n10. From the left menu, go to **Certificates & secrets**.\n - Under **Client secrets**, click **New client secret**.\n - Provide a description, set an expiry, and click **Add**.\n - Copy the **Value** of the client secret (this will not be shown again).\n11. Go to **API permissions** from the left menu.\n - Click **Add a permission**.\n - Select **Microsoft Graph** → **Delegated permissions**.\n - Add the following scopes:\n - Notes.ReadWrite\n - offline_access\n\t - User.Read\n - Click **Add permissions**.\n12. Copy your **Client ID** and **Client Secret**.\n",
"Create Notebook": "メモ帳を作成",
"Create Section": "セクションを作成",
"Create Note in Section": "セクションにノートを作成",
"Create Page": "ページを作成",
"Create Image Note": "画像メモを作成",
"Append Note": "追加メモ",
"Creates a notebook.": "ノートブックを作成",
"Creates a new section in notebook.": "ノートブックに新しいセクションを作成します。",
"Create a new note in a specific section with title and content.": "タイトルとコンテンツを含む特定のセクションに新しいノートを作成します。",
"Creates a page in section.": "セクションにページを作成します。",
"Create a note containing an embedded image via a public image URL.": "公開画像URLを介して埋め込まれた画像を含むメモを作成します。",
"Append content to the end of an existing note.": "既存のノートの最後にコンテンツを追加します。",
"Notebook Name": "メモ帳名",
"Notebook": "メモ帳",
"Section Name": "セクション名",
"Section": "セクション",
"Note Title": "ノートタイトル",
"Note Content": "ノートコンテンツ",
"Page Title": "ページタイトル",
"Page Content": "ページの内容",
"Image URL": "画像URL",
"Image Width": "画像の幅",
"Image Alt Text": "画像の代替テキスト",
"Description": "説明",
"Page": "ページ",
"Content Type": "コンテンツタイプ",
"Content": "コンテンツ",
"Heading Level": "見出しレベル",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "ートブックの名前。128文字以上または以下の文字を含むことはできません。ユニークである必要があります?*/:<>|'\"%~",
"The notebook to create the section in.": "セクションを作成するためのノートブック。",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "セクションの名前。ートブック内で一意である必要があり、50文字以上または次の文字を含むことはできません?*/:<>|&#''%~",
"The notebook to create the note in.": "ノートを作成するためのノート",
"The section to create the note in.": "ノートを作成するセクションです。",
"The title of the note.": "ノートのタイトル",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "ノートの内容。 <p>, <h1>, <h2>, <ul>, <li>などの基本的な HTML タグを使用します。",
"The notebook to create the page in.": "ページを作成するためのノートブック。",
"The section to create the page in.": "ページを作成するセクション。",
"The title of the page.": "ページのタイトル",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "ページの HTML コンテンツ。 <p>、 <h1>、 <h2>、 <ul>、 <li>などの基本的な HTML タグを使用します。",
"The notebook to create the image note in.": "イメージノートを作成するためのノートです。",
"The section to create the image note in.": "イメージノートを作成するセクション。",
"The title of the image note page.": "画像ノートページのタイトル",
"The public URL of the image to embed (must be publicly accessible).": "埋め込む画像の公開 URL (公開されている必要があります)",
"The width of the image in pixels (optional).": "ピクセル単位の画像の幅 (オプション)。",
"Alternative text for the image (for accessibility).": "画像の代替テキスト(アクセシビリティ用)。",
"Optional description text to include with the image.": "画像に含める任意の説明テキスト。",
"The notebook containing the page to append to.": "追加するページを含むノートブック。",
"The section containing the page to append to.": "追加するページを含むセクション。",
"The page to append content to.": "コンテンツを追加するページ。",
"The type of content to append.": "追加するコンテンツの種類。",
"The content to append to the page.": "ページに追加するコンテンツ。",
"The heading level (only for heading content type).": "見出しレベル (見出しコンテンツタイプのみ)",
"Paragraph": "段落",
"List Item": "リストアイテム",
"Heading": "見出し",
"Custom HTML": "カスタム HTML",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "H6",
"New Note in Section": "セクション内の新しいメモ",
"Fires when a new note is created in a specified section.": "指定したセクションに新しいノートが作成されたときに発生します。",
"The notebook to monitor for new notes.": "新しいノートを監視するためのノートブック。",
"The section to monitor for new notes.": "新しいノートを監視するセクション。"
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote is een note-take app waarmee je notities kunt maken, bewerken en delen met anderen.",
"\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and ad": "\n1. Log in bij [Microsoft Azure Portal](https://portal.azure.com/).\n. Ga naar **Microsoft Enfra ID**.\n3. Onder **Beheren**, klik op **App registraties**.\n4. Klik op de **Nieuwe registratie** knop.\n5. Voer een **Naam** in voor uw app.\n6. Voor **Ondersteunde accounttypen**, kies keuze:\n - **Accounts in elke map van de organisatie (Any Microsoft Entra ID-tenant - Multitenant) en persoonlijke Microsoft accounts**\n - Of selecteer gebaseerd op uw vereiste.\n7. In **Redirect URI**, selecteer **Web** en voeg de opgegeven URL toe.\n8. Klik **Register**.\n9. Na registratie wordt u doorverwezen naar de overzichtspagina. Kopieer de **Applicatie (client) ID**.\n10. Vanuit het linkermenu ga naar **Certificaten & geheimen**.\n - Onder **Client secrets**, klik op **Nieuwe client geheim**.\n - Geef een beschrijving, verloop, en klik **Toevoegen**.\n - Kopieer de **waarde** van de client secret (dit zal niet meer worden weergegeven).\n11. Ga naar **API permissies** in het linkermenu.\n - Klik **Een machtiging toevoegen**.\n - Selecteer **Microsoft Graph** → **Toegewezen machtigingen**.\n - Voeg de volgende toepassingsgebieden toe:\n - Notities. eadWrite\n - offline_access \n - User.Read\n - Klik **Permissies toevoegen**.\n12. Kopieer de **Client ID** en **Client Secret**.\n",
"Create Notebook": "Notitieboek maken",
"Create Section": "Sectie aanmaken",
"Create Note in Section": "Notitie aanmaken in sectie",
"Create Page": "Pagina maken",
"Create Image Note": "Afbeeldingsnotitie aanmaken",
"Append Note": "Notitie toevoegen",
"Creates a notebook.": "Maakt een notitieboekje.",
"Creates a new section in notebook.": "Maakt een nieuwe sectie aan in het notitieboekje.",
"Create a new note in a specific section with title and content.": "Maak een nieuwe notitie in een specifieke sectie met titel en inhoud.",
"Creates a page in section.": "Maakt een pagina in sectie.",
"Create a note containing an embedded image via a public image URL.": "Maak een notitie met een ingesloten afbeelding via een publieke afbeeldings-URL.",
"Append content to the end of an existing note.": "Voeg inhoud toe aan het einde van een bestaande notitie.",
"Notebook Name": "Notitieboekje Naam",
"Notebook": "Notitieboekje",
"Section Name": "Sectie naam",
"Section": "Sectie",
"Note Title": "Notitie titel",
"Note Content": "Notitie inhoud",
"Page Title": "Pagina Titel",
"Page Content": "Pagina inhoud",
"Image URL": "Afbeelding URL",
"Image Width": "Afbeelding breedte",
"Image Alt Text": "Alt-tekst van afbeelding",
"Description": "Beschrijving",
"Page": "Pagina",
"Content Type": "Type inhoud",
"Content": "Inhoud",
"Heading Level": "Kop niveau",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "De naam van het notitieboekje. Moet uniek zijn en mag niet meer dan 128 tekens of de volgende tekens bevatten: ?*/:<>kill '\"%~",
"The notebook to create the section in.": "Het notitieboekje om de sectie in te maken.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "De naam van de sectie. Moet uniek zijn in het notitieboek en mag niet meer dan 50 tekens of de volgende tekens bevatten: ?*/:<> &#''%~",
"The notebook to create the note in.": "Het notitieboekje om de notitie in te maken.",
"The section to create the note in.": "De sectie om de notitie in te maken.",
"The title of the note.": "De titel van de notitie.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "De inhoud van de notitie. Gebruik basis-HTML tags zoals <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the page in.": "Het notitieboekje om de pagina in te maken.",
"The section to create the page in.": "De sectie om de pagina in te maken.",
"The title of the page.": "De titel van de pagina.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "De HTML-inhoud van de pagina. Gebruik basis HTML tags zoals <p>, <h1>, <h2>, <ul>, <li>, enz.",
"The notebook to create the image note in.": "Het notitieboekje om de afbeeldingsnotitie in te maken.",
"The section to create the image note in.": "De sectie om de afbeeldingsnotitie in te maken.",
"The title of the image note page.": "De titel van de afbeeldingsnotitie pagina.",
"The public URL of the image to embed (must be publicly accessible).": "De publieke URL van de afbeelding die ingesloten moet worden (moet openbaar toegankelijk zijn).",
"The width of the image in pixels (optional).": "De breedte van de afbeelding in pixels (optioneel).",
"Alternative text for the image (for accessibility).": "Alternatieve tekst voor de afbeelding (voor toegankelijkheid).",
"Optional description text to include with the image.": "Optionele beschrijving om op te nemen met de afbeelding.",
"The notebook containing the page to append to.": "Het notitieboekje met de pagina waaraan u wilt toevoegen.",
"The section containing the page to append to.": "De sectie met de pagina waaraan u wilt toevoegen.",
"The page to append content to.": "De pagina waaraan de inhoud moet worden toegevoegd.",
"The type of content to append.": "Het type inhoud dat je wilt toevoegen.",
"The content to append to the page.": "De inhoud om toe te voegen aan de pagina.",
"The heading level (only for heading content type).": "Het titelniveau (alleen voor rubriek inhoud type).",
"Paragraph": "Paragraaf",
"List Item": "Lijst item",
"Heading": "Kop",
"Custom HTML": "Aangepaste HTML",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "H6",
"New Note in Section": "Nieuwe notitie in sectie",
"Fires when a new note is created in a specified section.": "Vuurt wanneer een nieuwe notitie wordt gemaakt in een opgegeven sectie.",
"The notebook to monitor for new notes.": "Het notitieboekje om nieuwe notities te monitoren.",
"The section to monitor for new notes.": "De sectie om nieuwe notities te monitoren."
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote é um app anotações que permite criar, editar e compartilhar anotações com outros.",
"\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and ad": "\n1. Entre no [Microsoft Azure Portal](https://portal.azure.com/).\n. Na barra lateral esquerda, vá até **Microsoft Enfra ID**.\n3. Sob **Gerenciar**, clique em **Aplicativos registrados**.\n4. Clique no botão **Novo registro**.\n5. Digite um **Nome** para o seu aplicativo.\n6. Para **Tipos de conta suportados**, escolha:\n - **Contas em qualquer diretório organizacional (qualquer inquilino de ID da Microsoft Entra - Multitenant) e contas pessoais da Microsoft**\n - Ou selecione com base nos seus requisitos.\n7. Em **URI de redirecionamento**, selecione **Web** e adicione a URL fornecida.\n8. Clique em **Registrar**.\n9. Após o registro, você será redirecionado para a página de visão geral do aplicativo. Copie o **ID do aplicativo (cliente) **.\n10. No menu da esquerda, vá para **Certificados e segredos**.\n - Em **Segredos do cliente**, clique em **Novo segredo do cliente**.\n - Fornece uma descrição, define um vencimento e clique em **Adicionar**.\n - Copiar o **Valor** do segredo do cliente (isso não será exibido novamente).\n11. Vá para **permissões de API** no menu à esquerda.\n - Clique em **Adicionar uma permissão**.\n - Selecione **Microsoft Graph** → **Delegated permissions**.\n - Adicione os seguintes escopos:\n - Notas. eadWrite\n - offline_access \n - Usuário. Leia\n - Clique em **Adicionar permissões**.\n12. Copie seu **ID do Cliente** e **Segredo do Cliente**.\n",
"Create Notebook": "Criar caderno",
"Create Section": "Criar seção",
"Create Note in Section": "Criar Nota na Seção",
"Create Page": "Criar página",
"Create Image Note": "Criar Nota de Imagem",
"Append Note": "Acrescentar Nota",
"Creates a notebook.": "Cria um caderno.",
"Creates a new section in notebook.": "Cria uma nova seção no caderno.",
"Create a new note in a specific section with title and content.": "Criar uma nova nota em uma seção específica com título e conteúdo.",
"Creates a page in section.": "Cria uma página na seção.",
"Create a note containing an embedded image via a public image URL.": "Criar uma nota contendo uma imagem embutida através de uma URL de imagem pública.",
"Append content to the end of an existing note.": "Acrescentar conteúdo ao final de uma nota existente.",
"Notebook Name": "Nome do Notebook",
"Notebook": "Caderno",
"Section Name": "Nome da Seção",
"Section": "Turma",
"Note Title": "Título da Nota",
"Note Content": "Conteúdo da Nota",
"Page Title": "Título da página",
"Page Content": "Conteúdo da Página",
"Image URL": "URL da imagem",
"Image Width": "Largura da imagem",
"Image Alt Text": "Texto Alternativo da Imagem",
"Description": "Descrição",
"Page": "Página",
"Content Type": "Tipo de Conteúdo",
"Content": "Conteúdo",
"Heading Level": "Nível de Cabeçalho",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "O nome do caderno de anotações. Deve ser único e não pode conter mais de 128 caracteres ou os seguintes caracteres: ?*/:<>├'\"%~",
"The notebook to create the section in.": "O caderno para criar a seção.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "O nome da seção. Deve ser único dentro do caderno de anotações e não pode conter mais de 50 caracteres ou os seguintes caracteres: ?*/:<>^\\\\&#''%~",
"The notebook to create the note in.": "O caderno para criar a nota.",
"The section to create the note in.": "A seção para criar a nota.",
"The title of the note.": "O título da nota.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "O conteúdo da nota. Use tags HTML básicas como <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the page in.": "O caderno para criar a página.",
"The section to create the page in.": "A seção para criar a página.",
"The title of the page.": "O título da página.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "O conteúdo HTML da página. Use tags HTML básicas como <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the image note in.": "O caderno para criar a nota de imagem.",
"The section to create the image note in.": "A seção para criar a nota de imagem.",
"The title of the image note page.": "O título da página da imagem da nota.",
"The public URL of the image to embed (must be publicly accessible).": "A URL pública da imagem a ser incorporada (deve ser acessível ao público).",
"The width of the image in pixels (optional).": "A largura da imagem em pixels (opcional).",
"Alternative text for the image (for accessibility).": "Texto alternativo para a imagem (para acessibilidade).",
"Optional description text to include with the image.": "Texto de descrição opcional para incluir com a imagem.",
"The notebook containing the page to append to.": "O caderno contendo a página a que você deve anexar.",
"The section containing the page to append to.": "A seção que contém a página a ser anexada.",
"The page to append content to.": "A página para anexar conteúdo.",
"The type of content to append.": "O tipo de conteúdo a acrescentar.",
"The content to append to the page.": "O conteúdo para anexar à página.",
"The heading level (only for heading content type).": "Nível de título (apenas para tipo de conteúdo de cabeçalho).",
"Paragraph": "Parágrafo",
"List Item": "Item de Lista",
"Heading": "Cabeçalho",
"Custom HTML": "HTML personalizado",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "H6",
"New Note in Section": "Nova Nota na Seção",
"Fires when a new note is created in a specified section.": "Atira quando uma nova nota é criada em uma seção especificada.",
"The notebook to monitor for new notes.": "O caderno para monitorar as novas notas.",
"The section to monitor for new notes.": "A seção para monitorar novas notas."
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote": "Microsoft OneNote",
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote - это приложение для заметок, которое позволяет создавать, редактировать и делиться заметками с другими.",
"Create Notebook": "Создать заметку",
"Create Section": "Создать раздел",
"Create Note in Section": "Создать заметку в разделе",
"Create Page": "Создать страницу",
"Create Image Note": "Создать заметку",
"Append Note": "Добавить заметку",
"Creates a notebook.": "Создает блокнот.",
"Creates a new section in notebook.": "Создает новый раздел в блокноте.",
"Create a new note in a specific section with title and content.": "Создайте новую заметку в отдельном разделе с заголовком и содержанием.",
"Creates a page in section.": "Создает страницу в разделе.",
"Create a note containing an embedded image via a public image URL.": "Создайте заметку, содержащую встроенное изображение через URL-адрес публичного изображения.",
"Append content to the end of an existing note.": "Добавить содержимое в конец существующей заметки.",
"Notebook Name": "Имя блокнота",
"Notebook": "Ноутбук",
"Section Name": "Название раздела",
"Section": "1 С-4, 1 С-3, 1 ПС, 1 НС, 1 ДООН",
"Note Title": "Заголовок заметки",
"Note Content": "Содержание заметки",
"Page Title": "Название страницы",
"Page Content": "Содержание страницы",
"Image URL": "URL изображения",
"Image Width": "Ширина изображения",
"Image Alt Text": "Альтернативный текст",
"Description": "Описание",
"Page": "Страница",
"Content Type": "Тип контента",
"Content": "Содержание",
"Heading Level": "Уровень заголовка",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "Имя блокнота. Имя блокнота должно быть уникальным и содержать не более 128 символов или следующие символы: ?*/:<>|'\"%~",
"The notebook to create the section in.": "Ноутбук для создания раздела.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "Имя раздела. Имя раздела должно быть уникальным в блокноте и содержать не более 50 символов или следующие символы: ?*/:<>|&#''%~",
"The notebook to create the note in.": "Ноутбук для создания заметки.",
"The section to create the note in.": "Раздел для создания заметки в",
"The title of the note.": "Заголовок записки.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "Содержание заметки. Используйте основные теги HTML, такие как <p>, <h1>, <h2>, <ul>, <li>.",
"The notebook to create the page in.": "Ноутбук для создания страницы.",
"The section to create the page in.": "Раздел для создания страницы.",
"The title of the page.": "Заголовок страницы.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "HTML-содержимое страницы. Используйте основные теги HTML, такие как <p>, <h1>, <h2>, <ul>, <li>.",
"The notebook to create the image note in.": "Ноутбук для создания заметки в изображении.",
"The section to create the image note in.": "Раздел для создания заметки в изображении.",
"The title of the image note page.": "Заголовок страницы заметок.",
"The public URL of the image to embed (must be publicly accessible).": "Публичный URL встраиваемого изображения (должен быть общедоступным).",
"The width of the image in pixels (optional).": "Ширина изображения в пикселях (необязательно).",
"Alternative text for the image (for accessibility).": "Альтернативный текст изображения (для доступности).",
"Optional description text to include with the image.": "Необязательный текст описания для включения в изображение.",
"The notebook containing the page to append to.": "Блокнот содержит страницу в которую можно добавить.",
"The section containing the page to append to.": "Раздел, в который будет добавлена страница.",
"The page to append content to.": "Страница для добавления содержимого.",
"The type of content to append.": "Тип контента для добавления.",
"The content to append to the page.": "Контент для добавления на страницу.",
"The heading level (only for heading content type).": "Уровень заголовка (только для заголовка типа контента).",
"Paragraph": "Пункт 2",
"List Item": "Элемент списка",
"Heading": "Заголовок",
"Custom HTML": "Пользовательский HTML",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "H6",
"New Note in Section": "Новая заметка в разделе",
"Fires when a new note is created in a specified section.": "Запускает при создании новой заметки в указанном разделе.",
"The notebook to monitor for new notes.": "Ноутбук для мониторинга новых заметок.",
"The section to monitor for new notes.": "Раздел для мониторинга новых заметок."
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.",
"\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and ad": "\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and add the given URL.\n8. Click **Register**.\n9. After registration, youll be redirected to the apps overview page. Copy the **Application (client) ID**.\n10. From the left menu, go to **Certificates & secrets**.\n - Under **Client secrets**, click **New client secret**.\n - Provide a description, set an expiry, and click **Add**.\n - Copy the **Value** of the client secret (this will not be shown again).\n11. Go to **API permissions** from the left menu.\n - Click **Add a permission**.\n - Select **Microsoft Graph** → **Delegated permissions**.\n - Add the following scopes:\n - Notes.ReadWrite\n - offline_access\n\t - User.Read\n - Click **Add permissions**.\n12. Copy your **Client ID** and **Client Secret**.\n",
"Create Notebook": "Create Notebook",
"Create Section": "Create Section",
"Create Note in Section": "Create Note in Section",
"Create Page": "Create Page",
"Create Image Note": "Create Image Note",
"Append Note": "Append Note",
"Creates a notebook.": "Creates a notebook.",
"Creates a new section in notebook.": "Creates a new section in notebook.",
"Create a new note in a specific section with title and content.": "Create a new note in a specific section with title and content.",
"Creates a page in section.": "Creates a page in section.",
"Create a note containing an embedded image via a public image URL.": "Create a note containing an embedded image via a public image URL.",
"Append content to the end of an existing note.": "Append content to the end of an existing note.",
"Notebook Name": "Notebook Name",
"Notebook": "Notebook",
"Section Name": "Section Name",
"Section": "Section",
"Note Title": "Note Title",
"Note Content": "Note Content",
"Page Title": "Page Title",
"Page Content": "Page Content",
"Image URL": "Image URL",
"Image Width": "Image Width",
"Image Alt Text": "Image Alt Text",
"Description": "Description",
"Page": "Page",
"Content Type": "Content Type",
"Content": "Content",
"Heading Level": "Heading Level",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~",
"The notebook to create the section in.": "The notebook to create the section in.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~",
"The notebook to create the note in.": "The notebook to create the note in.",
"The section to create the note in.": "The section to create the note in.",
"The title of the note.": "The title of the note.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the page in.": "The notebook to create the page in.",
"The section to create the page in.": "The section to create the page in.",
"The title of the page.": "The title of the page.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the image note in.": "The notebook to create the image note in.",
"The section to create the image note in.": "The section to create the image note in.",
"The title of the image note page.": "The title of the image note page.",
"The public URL of the image to embed (must be publicly accessible).": "The public URL of the image to embed (must be publicly accessible).",
"The width of the image in pixels (optional).": "The width of the image in pixels (optional).",
"Alternative text for the image (for accessibility).": "Alternative text for the image (for accessibility).",
"Optional description text to include with the image.": "Optional description text to include with the image.",
"The notebook containing the page to append to.": "The notebook containing the page to append to.",
"The section containing the page to append to.": "The section containing the page to append to.",
"The page to append content to.": "The page to append content to.",
"The type of content to append.": "The type of content to append.",
"The content to append to the page.": "The content to append to the page.",
"The heading level (only for heading content type).": "The heading level (only for heading content type).",
"Paragraph": "Paragraph",
"List Item": "List Item",
"Heading": "Heading",
"Custom HTML": "Custom HTML",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "H6",
"New Note in Section": "New Note in Section",
"Fires when a new note is created in a specified section.": "Fires when a new note is created in a specified section.",
"The notebook to monitor for new notes.": "The notebook to monitor for new notes.",
"The section to monitor for new notes.": "The section to monitor for new notes."
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote": "Microsoft OneNote",
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.",
"Create Notebook": "Create Notebook",
"Create Section": "Create Section",
"Create Note in Section": "Create Note in Section",
"Create Page": "Create Page",
"Create Image Note": "Create Image Note",
"Append Note": "Append Note",
"Creates a notebook.": "Creates a notebook.",
"Creates a new section in notebook.": "Creates a new section in notebook.",
"Create a new note in a specific section with title and content.": "Create a new note in a specific section with title and content.",
"Creates a page in section.": "Creates a page in section.",
"Create a note containing an embedded image via a public image URL.": "Create a note containing an embedded image via a public image URL.",
"Append content to the end of an existing note.": "Append content to the end of an existing note.",
"Notebook Name": "Notebook Name",
"Notebook": "Notebook",
"Section Name": "Section Name",
"Section": "Section",
"Note Title": "Note Title",
"Note Content": "Note Content",
"Page Title": "Page Title",
"Page Content": "Page Content",
"Image URL": "Image URL",
"Image Width": "Image Width",
"Image Alt Text": "Image Alt Text",
"Description": "Description",
"Page": "Page",
"Content Type": "Content Type",
"Content": "Content",
"Heading Level": "Heading Level",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~",
"The notebook to create the section in.": "The notebook to create the section in.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~",
"The notebook to create the note in.": "The notebook to create the note in.",
"The section to create the note in.": "The section to create the note in.",
"The title of the note.": "The title of the note.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the page in.": "The notebook to create the page in.",
"The section to create the page in.": "The section to create the page in.",
"The title of the page.": "The title of the page.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the image note in.": "The notebook to create the image note in.",
"The section to create the image note in.": "The section to create the image note in.",
"The title of the image note page.": "The title of the image note page.",
"The public URL of the image to embed (must be publicly accessible).": "The public URL of the image to embed (must be publicly accessible).",
"The width of the image in pixels (optional).": "The width of the image in pixels (optional).",
"Alternative text for the image (for accessibility).": "Alternative text for the image (for accessibility).",
"Optional description text to include with the image.": "Optional description text to include with the image.",
"The notebook containing the page to append to.": "The notebook containing the page to append to.",
"The section containing the page to append to.": "The section containing the page to append to.",
"The page to append content to.": "The page to append content to.",
"The type of content to append.": "The type of content to append.",
"The content to append to the page.": "The content to append to the page.",
"The heading level (only for heading content type).": "The heading level (only for heading content type).",
"Paragraph": "Paragraph",
"List Item": "List Item",
"Heading": "Heading",
"Custom HTML": "Custom HTML",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "H6",
"New Note in Section": "New Note in Section",
"Fires when a new note is created in a specified section.": "Fires when a new note is created in a specified section.",
"The notebook to monitor for new notes.": "The notebook to monitor for new notes.",
"The section to monitor for new notes.": "The section to monitor for new notes."
}

View File

@@ -0,0 +1,70 @@
{
"Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.": "Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.",
"\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and ad": "\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and add the given URL.\n8. Click **Register**.\n9. After registration, youll be redirected to the apps overview page. Copy the **Application (client) ID**.\n10. From the left menu, go to **Certificates & secrets**.\n - Under **Client secrets**, click **New client secret**.\n - Provide a description, set an expiry, and click **Add**.\n - Copy the **Value** of the client secret (this will not be shown again).\n11. Go to **API permissions** from the left menu.\n - Click **Add a permission**.\n - Select **Microsoft Graph** → **Delegated permissions**.\n - Add the following scopes:\n - Notes.ReadWrite\n - offline_access\n\t - User.Read\n - Click **Add permissions**.\n12. Copy your **Client ID** and **Client Secret**.\n",
"Create Notebook": "Create Notebook",
"Create Section": "Create Section",
"Create Note in Section": "Create Note in Section",
"Create Page": "Create Page",
"Create Image Note": "Create Image Note",
"Append Note": "Append Note",
"Creates a notebook.": "Creates a notebook.",
"Creates a new section in notebook.": "Creates a new section in notebook.",
"Create a new note in a specific section with title and content.": "Create a new note in a specific section with title and content.",
"Creates a page in section.": "Creates a page in section.",
"Create a note containing an embedded image via a public image URL.": "Create a note containing an embedded image via a public image URL.",
"Append content to the end of an existing note.": "Append content to the end of an existing note.",
"Notebook Name": "Notebook Name",
"Notebook": "Notebook",
"Section Name": "Section Name",
"Section": "Section",
"Note Title": "Note Title",
"Note Content": "Note Content",
"Page Title": "Page Title",
"Page Content": "Page Content",
"Image URL": "Image URL",
"Image Width": "Image Width",
"Image Alt Text": "Image Alt Text",
"Description": "描述",
"Page": "Page",
"Content Type": "Content Type",
"Content": "Content",
"Heading Level": "Heading Level",
"The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~": "The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|'\"%~",
"The notebook to create the section in.": "The notebook to create the section in.",
"The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~": "The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#''%~",
"The notebook to create the note in.": "The notebook to create the note in.",
"The section to create the note in.": "The section to create the note in.",
"The title of the note.": "The title of the note.",
"The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the page in.": "The notebook to create the page in.",
"The section to create the page in.": "The section to create the page in.",
"The title of the page.": "The title of the page.",
"The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.": "The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.",
"The notebook to create the image note in.": "The notebook to create the image note in.",
"The section to create the image note in.": "The section to create the image note in.",
"The title of the image note page.": "The title of the image note page.",
"The public URL of the image to embed (must be publicly accessible).": "The public URL of the image to embed (must be publicly accessible).",
"The width of the image in pixels (optional).": "The width of the image in pixels (optional).",
"Alternative text for the image (for accessibility).": "Alternative text for the image (for accessibility).",
"Optional description text to include with the image.": "Optional description text to include with the image.",
"The notebook containing the page to append to.": "The notebook containing the page to append to.",
"The section containing the page to append to.": "The section containing the page to append to.",
"The page to append content to.": "The page to append content to.",
"The type of content to append.": "The type of content to append.",
"The content to append to the page.": "The content to append to the page.",
"The heading level (only for heading content type).": "The heading level (only for heading content type).",
"Paragraph": "Paragraph",
"List Item": "List Item",
"Heading": "Heading",
"Custom HTML": "Custom HTML",
"H1": "H1",
"H2": "H2",
"H3": "H3",
"H4": "H4",
"H5": "H5",
"H6": "H6",
"New Note in Section": "New Note in Section",
"Fires when a new note is created in a specified section.": "Fires when a new note is created in a specified section.",
"The notebook to monitor for new notes.": "The notebook to monitor for new notes.",
"The section to monitor for new notes.": "The section to monitor for new notes."
}

View File

@@ -0,0 +1,68 @@
import { createPiece, PieceAuth } from "@activepieces/pieces-framework";
import { createSection } from './lib/actions/create-section';
import { createNotebook } from './lib/actions/create-notebook';
import { createImageNote } from './lib/actions/create-image-note';
import { appendNote } from './lib/actions/append-note';
import { newNoteInSectionTrigger } from './lib/triggers/new-note-in-section';
import { createNoteInSection } from './lib/actions/create-note-in-section';
import { createPage } from './lib/actions/create-page';
import { PieceCategory } from "@activepieces/shared";
const authDesc = `
1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).
2. From the left sidebar, go to **Microsoft Enfra ID**.
3. Under **Manage**, click on **App registrations**.
4. Click the **New registration** button.
5. Enter a **Name** for your app.
6. For **Supported account types**, choose:
- **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**
- Or select based on your requirement.
7. In **Redirect URI**, select **Web** and add the given URL.
8. Click **Register**.
9. After registration, youll be redirected to the apps overview page. Copy the **Application (client) ID**.
10. From the left menu, go to **Certificates & secrets**.
- Under **Client secrets**, click **New client secret**.
- Provide a description, set an expiry, and click **Add**.
- Copy the **Value** of the client secret (this will not be shown again).
11. Go to **API permissions** from the left menu.
- Click **Add a permission**.
- Select **Microsoft Graph** → **Delegated permissions**.
- Add the following scopes:
- Notes.ReadWrite
- offline_access
- User.Read
- Click **Add permissions**.
12. Copy your **Client ID** and **Client Secret**.
`
export const oneNoteAuth = PieceAuth.OAuth2({
description:authDesc,
authUrl: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',
tokenUrl: 'https://login.microsoftonline.com/common/oauth2/v2.0/token',
required: true,
scope: ['Notes.ReadWrite', 'User.Read', 'offline_access'],
prompt: 'omit'
});
export const microsoftOnenote = createPiece({
displayName: "Microsoft OneNote",
description: "Microsoft OneNote is a note-taking app that allows you to create, edit, and share notes with others.",
categories: [PieceCategory.PRODUCTIVITY],
auth: oneNoteAuth,
minimumSupportedRelease: '0.36.1',
logoUrl: "https://cdn.activepieces.com/pieces/microsoft-onenote.png",
authors: ['fortunamide', 'onyedikachi-david'],
actions: [
createNotebook,
createSection,
createNoteInSection,
createPage,
createImageNote,
appendNote,
],
triggers: [
newNoteInSectionTrigger,
],
});

View File

@@ -0,0 +1,168 @@
import { Property, createAction, OAuth2PropertyValue } from '@activepieces/pieces-framework';
import { getNotebooksDropdown, getSectionsByNotebookDropdown, getPagesBySectionDropdown } from '../common';
import { oneNoteAuth } from '../../index';
import { Client } from '@microsoft/microsoft-graph-client';
export const appendNote = createAction({
auth: oneNoteAuth,
name: 'append_note',
displayName: 'Append Note',
description: 'Append content to the end of an existing note.',
props: {
notebook_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Notebook',
description: 'The notebook containing the page to append to.',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
return await getNotebooksDropdown(auth as OAuth2PropertyValue);
},
}),
section_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Section',
description: 'The section containing the page to append to.',
required: true,
refreshers: ['notebook_id'],
options: async ({ auth, notebook_id }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
if (!notebook_id) {
return {
disabled: true,
placeholder: 'Select a notebook first',
options: [],
};
}
return await getSectionsByNotebookDropdown(auth as OAuth2PropertyValue, notebook_id as string);
},
}),
page_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Page',
description: 'The page to append content to.',
required: true,
refreshers: ['section_id'],
options: async ({ auth, section_id }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
if (!section_id) {
return {
disabled: true,
placeholder: 'Select a section first',
options: [],
};
}
return await getPagesBySectionDropdown(auth as OAuth2PropertyValue, section_id as string);
},
}),
content_type: Property.StaticDropdown({
displayName: 'Content Type',
description: 'The type of content to append.',
required: true,
options: {
options: [
{ label: 'Paragraph', value: 'paragraph' },
{ label: 'List Item', value: 'list_item' },
{ label: 'Heading', value: 'heading' },
{ label: 'Custom HTML', value: 'html' },
],
},
defaultValue: 'paragraph',
}),
content: Property.LongText({
displayName: 'Content',
description: 'The content to append to the page.',
required: true,
}),
heading_level: Property.StaticDropdown({
displayName: 'Heading Level',
description: 'The heading level (only for heading content type).',
required: false,
options: {
options: [
{ label: 'H1', value: 'h1' },
{ label: 'H2', value: 'h2' },
{ label: 'H3', value: 'h3' },
{ label: 'H4', value: 'h4' },
{ label: 'H5', value: 'h5' },
{ label: 'H6', value: 'h6' },
],
},
defaultValue: 'h2',
}),
},
async run(context) {
const { auth, propsValue } = context;
const { page_id, content_type, content, heading_level } = propsValue;
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve((auth as OAuth2PropertyValue).access_token),
},
});
let htmlContent: string;
switch (content_type) {
case 'paragraph':
htmlContent = `<p>${content}</p>`;
break;
case 'list_item':
htmlContent = `<ul><li>${content}</li></ul>`;
break;
case 'heading': {
const level = heading_level || 'h2';
htmlContent = `<${level}>${content}</${level}>`;
break;
}
case 'html':
htmlContent = content;
break;
default:
htmlContent = `<p>${content}</p>`;
}
const updateCommand = [
{
target: 'body',
action: 'append',
content: htmlContent,
},
];
try {
await client
.api(`/me/onenote/pages/${page_id}/content`)
.patch(updateCommand);
return {
success: true,
message: 'Content successfully appended to the page',
pageId: page_id,
contentType: content_type,
appendedContent: htmlContent,
};
} catch (error: any) {
throw new Error(`Failed to append content: ${error.message || 'Unknown error'}`);
}
},
});

View File

@@ -0,0 +1,130 @@
import { Property, createAction, OAuth2PropertyValue } from '@activepieces/pieces-framework';
import { getNotebooksDropdown, getSectionsByNotebookDropdown } from '../common';
import { oneNoteAuth } from '../../index';
import { Client } from '@microsoft/microsoft-graph-client';
export const createImageNote = createAction({
auth: oneNoteAuth,
name: 'create_image_note',
displayName: 'Create Image Note',
description: 'Create a note containing an embedded image via a public image URL.',
props: {
notebook_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Notebook',
description: 'The notebook to create the image note in.',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
return await getNotebooksDropdown(auth as OAuth2PropertyValue);
},
}),
section_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Section',
description: 'The section to create the image note in.',
required: true,
refreshers: ['notebook_id'],
options: async ({ auth, notebook_id }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
if (!notebook_id) {
return {
disabled: true,
placeholder: 'Select a notebook first',
options: [],
};
}
return await getSectionsByNotebookDropdown(auth as OAuth2PropertyValue, notebook_id as string);
},
}),
title: Property.ShortText({
displayName: 'Page Title',
description: 'The title of the image note page.',
required: true,
}),
image_url: Property.ShortText({
displayName: 'Image URL',
description: 'The public URL of the image to embed (must be publicly accessible).',
required: true,
}),
image_width: Property.Number({
displayName: 'Image Width',
description: 'The width of the image in pixels (optional).',
required: false,
defaultValue: 300,
}),
image_alt_text: Property.ShortText({
displayName: 'Image Alt Text',
description: 'Alternative text for the image (for accessibility).',
required: false,
defaultValue: 'Embedded image',
}),
description: Property.LongText({
displayName: 'Description',
description: 'Optional description text to include with the image.',
required: false,
}),
},
async run(context) {
const { auth, propsValue } = context;
const { section_id, title, image_url, image_width, image_alt_text, description } = propsValue;
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve((auth as OAuth2PropertyValue).access_token),
},
});
const imageTag = image_width
? `<img src="${image_url}" alt="${image_alt_text || 'Embedded image'}" width="${image_width}" />`
: `<img src="${image_url}" alt="${image_alt_text || 'Embedded image'}" />`;
const htmlContent = `<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>${title}</title>
</head>
<body>
<h1>${title}</h1>
${description ? `<p>${description}</p>` : ''}
${imageTag}
</body>
</html>`;
try {
const response = await client
.api(`/me/onenote/sections/${section_id}/pages`)
.header('Content-Type', 'application/xhtml+xml')
.post(htmlContent);
return {
id: response.id,
title: response.title,
createdDateTime: response.createdDateTime,
lastModifiedDateTime: response.lastModifiedDateTime,
contentUrl: response.contentUrl,
createdByAppId: response.createdByAppId,
imageUrl: image_url,
imageWidth: image_width,
imageAltText: image_alt_text,
links: response.links,
self: response.self,
};
} catch (error: any) {
throw new Error(`Failed to create image note: ${error.message || 'Unknown error'}`);
}
},
});

View File

@@ -0,0 +1,109 @@
import { Property, createAction, OAuth2PropertyValue } from '@activepieces/pieces-framework';
import { getNotebooksDropdown, getSectionsByNotebookDropdown } from '../common';
import { oneNoteAuth } from '../../index';
import { Client } from '@microsoft/microsoft-graph-client';
export const createNoteInSection = createAction({
auth: oneNoteAuth,
name: 'create_note_in_section',
displayName: 'Create Note in Section',
description: 'Create a new note in a specific section with title and content.',
props: {
notebook_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Notebook',
description: 'The notebook to create the note in.',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
return await getNotebooksDropdown(auth as OAuth2PropertyValue);
},
}),
section_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Section',
description: 'The section to create the note in.',
required: true,
refreshers: ['notebook_id'],
options: async ({ auth, notebook_id }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
if (!notebook_id) {
return {
disabled: true,
placeholder: 'Select a notebook first',
options: [],
};
}
return await getSectionsByNotebookDropdown(auth as OAuth2PropertyValue, notebook_id as string);
},
}),
title: Property.ShortText({
displayName: 'Note Title',
description: 'The title of the note.',
required: true,
}),
content: Property.LongText({
displayName: 'Note Content',
description: 'The content of the note. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.',
required: false,
defaultValue: '<p>Your note content here...</p>',
}),
},
async run(context) {
const { auth, propsValue } = context;
const { section_id, title, content } = propsValue;
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve((auth as OAuth2PropertyValue).access_token),
},
});
const htmlContent = `<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>${title}</title>
</head>
<body>
<h1>${title}</h1>
${content || '<p>New note created via Activepieces</p>'}
</body>
</html>`;
try {
const response = await client
.api(`/me/onenote/sections/${section_id}/pages`)
.header('Content-Type', 'application/xhtml+xml')
.post(htmlContent);
return {
id: response.id,
title: response.title,
createdDateTime: response.createdDateTime,
lastModifiedDateTime: response.lastModifiedDateTime,
contentUrl: response.contentUrl,
createdByAppId: response.createdByAppId,
level: response.level,
order: response.order,
links: response.links,
self: response.self,
};
} catch (error: any) {
throw new Error(`Failed to create note: ${error.message || 'Unknown error'}`);
}
},
});

View File

@@ -0,0 +1,53 @@
import { Property, createAction, OAuth2PropertyValue } from '@activepieces/pieces-framework';
import { oneNoteAuth } from '../../index';
import { Client } from '@microsoft/microsoft-graph-client';
export const createNotebook = createAction({
auth: oneNoteAuth,
name: 'create_notebook',
displayName: 'Create Notebook',
description: 'Creates a notebook.',
props: {
displayName: Property.ShortText({
displayName: 'Notebook Name',
description: 'The name of the notebook. Must be unique and cannot contain more than 128 characters or the following characters: ?*/:<>|\'"%~',
required: true,
}),
},
async run(context) {
const { auth, propsValue } = context;
const { displayName } = propsValue;
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve((auth as OAuth2PropertyValue).access_token),
},
});
const notebookBody = {
displayName,
};
try {
const response = await client.api('/me/onenote/notebooks').post(notebookBody);
return {
id: response.id,
displayName: response.displayName,
userRole: response.userRole,
isShared: response.isShared,
isDefault: response.isDefault,
createdDateTime: response.createdDateTime,
lastModifiedDateTime: response.lastModifiedDateTime,
createdBy: response.createdBy,
lastModifiedBy: response.lastModifiedBy,
sectionsUrl: response.sectionsUrl,
sectionGroupsUrl: response.sectionGroupsUrl,
links: response.links,
self: response.self,
};
} catch (error: any) {
throw new Error(`Failed to create notebook: ${error.message || 'Unknown error'}`);
}
},
});

View File

@@ -0,0 +1,108 @@
import { Property, createAction, OAuth2PropertyValue } from '@activepieces/pieces-framework';
import { getNotebooksDropdown, getSectionsByNotebookDropdown } from '../common';
import { oneNoteAuth } from '../../index';
import { Client } from '@microsoft/microsoft-graph-client';
export const createPage = createAction({
auth: oneNoteAuth,
name: 'create_page',
displayName: 'Create Page',
description: 'Creates a page in section.',
props: {
notebook_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Notebook',
description: 'The notebook to create the page in.',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
return await getNotebooksDropdown(auth as OAuth2PropertyValue);
},
}),
section_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Section',
description: 'The section to create the page in.',
required: true,
refreshers: ['notebook_id'],
options: async ({ auth, notebook_id }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
if (!notebook_id) {
return {
disabled: true,
placeholder: 'Select a notebook first',
options: [],
};
}
return await getSectionsByNotebookDropdown(auth as OAuth2PropertyValue, notebook_id as string);
},
}),
title: Property.ShortText({
displayName: 'Page Title',
description: 'The title of the page.',
required: true,
}),
content: Property.LongText({
displayName: 'Page Content',
description: 'The HTML content of the page. Use basic HTML tags like <p>, <h1>, <h2>, <ul>, <li>, etc.',
required: false,
defaultValue: '<p>Your page content here...</p>',
}),
},
async run(context) {
const { auth, propsValue } = context;
const { section_id, title, content } = propsValue;
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve((auth as OAuth2PropertyValue).access_token),
},
});
const htmlContent = `<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>${title}</title>
</head>
<body>
<h1>${title}</h1>
${content || '<p>New page created via Activepieces</p>'}
</body>
</html>`;
try {
const response = await client
.api(`/me/onenote/sections/${section_id}/pages`)
.header('Content-Type', 'application/xhtml+xml')
.post(htmlContent);
return {
id: response.id,
title: response.title,
createdDateTime: response.createdDateTime,
lastModifiedDateTime: response.lastModifiedDateTime,
contentUrl: response.contentUrl,
createdByAppId: response.createdByAppId,
level: response.level,
order: response.order,
links: response.links,
self: response.self,
};
} catch (error: any) {
throw new Error(`Failed to create page: ${error.message || 'Unknown error'}`);
}
},
});

View File

@@ -0,0 +1,68 @@
import { Property, createAction, OAuth2PropertyValue } from '@activepieces/pieces-framework';
import { getNotebooksDropdown } from '../common';
import { oneNoteAuth } from '../../index';
import { Client } from '@microsoft/microsoft-graph-client';
export const createSection = createAction({
auth: oneNoteAuth,
name: 'create_section',
displayName: 'Create Section',
description: 'Creates a new section in notebook.',
props: {
notebook_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Notebook',
description: 'The notebook to create the section in.',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
return await getNotebooksDropdown(auth as OAuth2PropertyValue);
},
}),
displayName: Property.ShortText({
displayName: 'Section Name',
description: 'The name of the section. Must be unique within the notebook and cannot contain more than 50 characters or the following characters: ?*/:<>|&#\'\'%~',
required: true,
}),
},
async run(context) {
const { auth, propsValue } = context;
const { notebook_id, displayName } = propsValue;
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve((auth as OAuth2PropertyValue).access_token),
},
});
const sectionBody = {
displayName,
};
try {
const response = await client.api(`/me/onenote/notebooks/${notebook_id}/sections`).post(sectionBody);
return {
id: response.id,
displayName: response.displayName,
isDefault: response.isDefault,
pagesUrl: response.pagesUrl,
createdDateTime: response.createdDateTime,
lastModifiedDateTime: response.lastModifiedDateTime,
createdBy: response.createdBy,
lastModifiedBy: response.lastModifiedBy,
links: response.links,
self: response.self,
};
} catch (error: any) {
throw new Error(`Failed to create section: ${error.message || 'Unknown error'}`);
}
},
});

View File

@@ -0,0 +1,137 @@
import { OAuth2PropertyValue } from '@activepieces/pieces-framework';
import { Client } from '@microsoft/microsoft-graph-client';
export async function getNotebooksDropdown(auth: OAuth2PropertyValue) {
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve(auth.access_token),
},
});
try {
const response = await client.api('/me/onenote/notebooks').get();
return {
disabled: false,
options: response.value.map((notebook: any) => ({
label: notebook.displayName,
value: notebook.id,
})),
};
} catch (error) {
console.error('Error fetching notebooks:', error);
return {
disabled: true,
placeholder: 'Failed to load notebooks',
options: [],
};
}
}
export async function getSectionsDropdown(auth: OAuth2PropertyValue) {
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve(auth.access_token),
},
});
try {
const response = await client.api('/me/onenote/sections').get();
return {
disabled: false,
options: response.value.map((section: any) => ({
label: section.displayName,
value: section.id,
})),
};
} catch (error) {
console.error('Error fetching sections:', error);
return {
disabled: true,
placeholder: 'Failed to load sections',
options: [],
};
}
}
export async function getPagesDropdown(auth: OAuth2PropertyValue) {
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve(auth.access_token),
},
});
try {
const response = await client.api('/me/onenote/pages').get();
return {
disabled: false,
options: response.value.map((page: any) => ({
label: page.title,
value: page.id,
})),
};
} catch (error) {
console.error('Error fetching pages:', error);
return {
disabled: true,
placeholder: 'Failed to load pages',
options: [],
};
}
}
export async function getSectionsByNotebookDropdown(auth: OAuth2PropertyValue, notebookId: string) {
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve(auth.access_token),
},
});
try {
const response = await client.api(`/me/onenote/notebooks/${notebookId}/sections`).get();
return {
disabled: false,
options: response.value.map((section: any) => ({
label: section.displayName,
value: section.id,
})),
};
} catch (error) {
console.error('Error fetching sections for notebook:', error);
return {
disabled: true,
placeholder: 'Failed to load sections',
options: [],
};
}
}
export async function getPagesBySectionDropdown(auth: OAuth2PropertyValue, sectionId: string) {
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve(auth.access_token),
},
});
try {
const response = await client.api(`/me/onenote/sections/${sectionId}/pages`).get();
return {
disabled: false,
options: response.value.map((page: any) => ({
label: page.title,
value: page.id,
})),
};
} catch (error) {
console.error('Error fetching pages for section:', error);
return {
disabled: true,
placeholder: 'Failed to load pages',
options: [],
};
}
}

View File

@@ -0,0 +1,150 @@
import { AppConnectionValueForAuthProperty, OAuth2PropertyValue, Property } from '@activepieces/pieces-framework';
import { createTrigger, TriggerStrategy } from '@activepieces/pieces-framework';
import { DedupeStrategy, Polling, pollingHelper } from '@activepieces/pieces-common';
import { getNotebooksDropdown, getSectionsByNotebookDropdown } from '../common';
import { oneNoteAuth } from '../../index';
import { Client, PageCollection } from '@microsoft/microsoft-graph-client';
import dayjs from 'dayjs';
const polling: Polling<AppConnectionValueForAuthProperty<typeof oneNoteAuth>, { notebook_id: string; section_id: string }> = {
strategy: DedupeStrategy.TIMEBASED,
items: async ({ auth, propsValue, store, lastFetchEpochMS }) => {
const sectionId = propsValue.section_id;
const client = Client.initWithMiddleware({
authProvider: {
getAccessToken: () => Promise.resolve(auth.access_token),
},
});
try {
const pages = [];
let queryParams: string;
if (lastFetchEpochMS === 0) {
queryParams = '$top=10&$orderby=createdDateTime desc';
} else {
const lastFetchDate = dayjs(lastFetchEpochMS).toISOString();
queryParams = `$filter=createdDateTime gt ${lastFetchDate}&$orderby=createdDateTime desc`;
}
let response: PageCollection = await client
.api(`/me/onenote/sections/${sectionId}/pages?${queryParams}`)
.get();
while (response.value.length > 0) {
for (const page of response.value) {
pages.push(page);
}
if (lastFetchEpochMS !== 0 && response['@odata.nextLink']) {
response = await client.api(response['@odata.nextLink']).get();
} else {
break;
}
}
return pages.map((page) => ({
epochMilliSeconds: dayjs(page.createdDateTime).valueOf(),
data: page,
}));
} catch (error: any) {
console.error('Error fetching new notes from section:', error);
throw new Error(`Failed to fetch new notes: ${error.message || 'Unknown error'}`);
}
},
};
export const newNoteInSectionTrigger = createTrigger({
name: 'new_note_in_section',
displayName: 'New Note in Section',
description: 'Fires when a new note is created in a specified section.',
auth: oneNoteAuth,
props: {
notebook_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Notebook',
description: 'The notebook to monitor for new notes.',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
return await getNotebooksDropdown(auth as OAuth2PropertyValue);
},
}),
section_id: Property.Dropdown({
auth: oneNoteAuth,
displayName: 'Section',
description: 'The section to monitor for new notes.',
required: true,
refreshers: ['notebook_id'],
options: async ({ auth, notebook_id }) => {
if (!(auth as OAuth2PropertyValue)?.access_token) {
return {
disabled: true,
placeholder: 'Connect your account first',
options: [],
};
}
if (!notebook_id) {
return {
disabled: true,
placeholder: 'Select a notebook first',
options: [],
};
}
return await getSectionsByNotebookDropdown(auth as OAuth2PropertyValue, notebook_id as string);
},
}),
},
type: TriggerStrategy.POLLING,
async onEnable(context) {
await pollingHelper.onEnable(polling, {
auth: context.auth,
store: context.store,
propsValue: context.propsValue,
});
},
async onDisable(context) {
await pollingHelper.onDisable(polling, {
auth: context.auth,
store: context.store,
propsValue: context.propsValue,
});
},
async test(context) {
return await pollingHelper.test(polling, context);
},
async run(context) {
return await pollingHelper.poll(polling, context);
},
sampleData: {
id: 'page-id-example',
title: 'Sample Page Title',
createdDateTime: '2025-01-09T01:00:00Z',
lastModifiedDateTime: '2025-01-09T01:00:00Z',
createdByAppId: 'app-id-example',
contentUrl: 'https://graph.microsoft.com/v1.0/me/onenote/pages/page-id-example/content',
links: {
oneNoteClientUrl: {
href: 'onenote:https://example.com/page'
},
oneNoteWebUrl: {
href: 'https://example.com/page'
}
},
level: 0,
order: 1,
self: 'https://graph.microsoft.com/v1.0/me/onenote/pages/page-id-example',
parentSection: {
id: 'section-id-example',
displayName: 'Sample Section',
self: 'https://graph.microsoft.com/v1.0/me/onenote/sections/section-id-example'
}
},
});

View File

@@ -0,0 +1,20 @@
{
"extends": "../../../../tsconfig.base.json",
"compilerOptions": {
"module": "commonjs",
"forceConsistentCasingInFileNames": true,
"strict": true,
"importHelpers": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"noPropertyAccessFromIndexSignature": true
},
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
}
]
}

View File

@@ -0,0 +1,9 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../../../dist/out-tsc",
"declaration": true,
"types": ["node"]
},
"include": ["src/**/*.ts"]
}