# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Novu Integrations API version: 1.0.0 extends: openapi/novu-integrations-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 10 - target: $.paths['/v1/integrations'].get update: x-apievangelist-phrasing: intent: List all channel integrations effect: read questions: - Which delivery providers have I integrated with Novu, active or not? - How do I see every email, SMS, push and chat integration in my organization? instructions: - text: List all my channel integrations, including inactive ones. - text: Show every provider integration configured in the organization. method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations'].post update: x-apievangelist-phrasing: intent: Add a delivery provider integration effect: write questions: - How do I connect a new email or SMS provider to Novu? - Can I create an integration that starts out inactive? - Where do provider credentials go when I set up an integration? instructions: - text: Create a {channel} integration for provider {providerId}. slots: channel: requestBody.channel providerId: requestBody.providerId - text: Add provider {providerId} as integration {name} with credentials {credentials}. slots: providerId: requestBody.providerId name: requestBody.name credentials: requestBody.credentials method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations/active'].get update: x-apievangelist-phrasing: intent: List active integrations effect: read questions: - Which of my integrations are currently turned on? - What providers are actually live for delivering notifications right now? instructions: - text: List only my active integrations. - text: Show the integrations that are currently enabled. method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations/{integrationId}'].put update: x-apievangelist-phrasing: intent: Update an integration effect: write questions: - How do I rotate the API key on an existing provider integration? - Can I deactivate an integration without deleting it? instructions: - text: Update integration {integrationId} with new credentials {credentials}. slots: integrationId: path.integrationId credentials: requestBody.credentials - text: Set integration {integrationId} active to {active}. slots: integrationId: path.integrationId active: requestBody.active method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations/{integrationId}'].delete update: x-apievangelist-phrasing: intent: Delete an integration effect: destructive questions: - How do I remove a provider integration permanently? - Is deleting an integration reversible? instructions: - text: Delete integration {integrationId}. slots: integrationId: path.integrationId - text: Permanently remove the provider integration {integrationId}. slots: integrationId: path.integrationId method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations/{integrationId}/auto-configure'].post update: x-apievangelist-phrasing: intent: Auto-configure inbound webhooks for an integration effect: write questions: - Can Novu set up the webhook signing keys and endpoints for a provider automatically? - How do I enable inbound webhook support on one of my integrations? instructions: - text: Auto-configure inbound webhooks for integration {integrationId}. slots: integrationId: path.integrationId - text: Generate webhook signing keys and endpoints for integration {integrationId}. slots: integrationId: path.integrationId method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations/{integrationId}/set-primary'].post update: x-apievangelist-phrasing: intent: Make an integration the primary provider effect: write questions: - How do I choose which email provider is used by default in a workflow? - Can I switch the primary SMS integration for this environment? instructions: - text: Set integration {integrationId} as the primary one for its channel. slots: integrationId: path.integrationId - text: Make {integrationId} the default provider for delivery. slots: integrationId: path.integrationId method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations/chat/oauth'].post update: x-apievangelist-phrasing: intent: Generate a chat OAuth URL (deprecated) effect: write questions: - What was the older, deprecated endpoint for generating a chat OAuth link? - Does the legacy chat OAuth URL endpoint still let a subscriber authorize a chat integration? instructions: - text: Use the deprecated chat OAuth endpoint to build a link for integration {integrationIdentifier}. slots: integrationIdentifier: requestBody.integrationIdentifier - text: Generate a legacy chat OAuth URL for subscriber {subscriberId} on integration {integrationIdentifier}. slots: subscriberId: requestBody.subscriberId integrationIdentifier: requestBody.integrationIdentifier method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations/channel-connections/oauth'].post update: x-apievangelist-phrasing: intent: Generate an OAuth URL for a workspace install effect: write questions: - How do I get a link to install my Slack app into a customer's workspace? - How long does a workspace connection OAuth link stay valid? - Can I request tenant-level admin consent for MS Teams through Novu? instructions: - text: Generate a workspace install OAuth URL for integration {integrationIdentifier}. slots: integrationIdentifier: requestBody.integrationIdentifier - text: Create a tenant connection OAuth link for {integrationIdentifier} with connection id {connectionIdentifier}. slots: integrationIdentifier: requestBody.integrationIdentifier connectionIdentifier: requestBody.connectionIdentifier method: generated generated: '2026-09-26' - target: $.paths['/v1/integrations/channel-endpoints/oauth'].post update: x-apievangelist-phrasing: intent: Generate an OAuth URL to link a subscriber's chat user effect: write questions: - How do I link a subscriber to their own Slack user ID? - Can a subscriber connect their MS Teams identity so messages reach them directly? instructions: - text: Generate a user-link OAuth URL for subscriber {subscriberId} on integration {integrationIdentifier}. slots: subscriberId: requestBody.subscriberId integrationIdentifier: requestBody.integrationIdentifier - text: Let subscriber {subscriberId} link their chat identity through {integrationIdentifier} using scope {userScope}. slots: subscriberId: requestBody.subscriberId integrationIdentifier: requestBody.integrationIdentifier userScope: requestBody.userScope method: generated generated: '2026-09-26'