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

# Create a custom channel

> Créer une nouvelle intégration de canal personnalisé dans votre compte HubSpot. Ce point de terminaison vous permet de définir les capacités et les propriétés du canal personnalisé, telles que son nom, sa description et son URL de webhook. La requête doit inclure un corps JSON avec les détails nécessaires à la nouvelle intégration de canal.

> **Supported products**


## OpenAPI

````yaml specs/2026-03/conversations-custom-channels-v2026-03.json POST /conversations/custom-channels/2026-03
openapi: 3.0.1
info:
  title: Conversations Custom Channels
  description: Basepom for all HubSpot Projects
  version: 2026-03
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: PROFESSIONAL
    service: PROFESSIONAL
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
  x-hubspot-api-use-case: >-
    Allow admins to install an integration with a third-party messaging channel
    that your team uses to communicate with customers, to allow users in your
    account to manage their conversations for that channel directly in HubSpot.
  x-hubspot-introduction: >-
    Use the custom channels API to create custom channels to build a bridge
    between an external message service and HubSpot's inbox or help desk
    features. 
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Basic
  - name: Channel accounts
  - name: Channels
  - name: Messages
paths:
  /conversations/custom-channels/2026-03:
    post:
      tags:
        - Basic
      summary: Créer
      description: >-
        Créer une nouvelle intégration de canal personnalisé dans votre compte
        HubSpot. Ce point de terminaison vous permet de définir les capacités et
        les propriétés du canal personnalisé, telles que son nom, sa description
        et son URL de webhook. La requête doit inclure un corps JSON avec les
        détails nécessaires à la nouvelle intégration de canal.
      operationId: >-
        post-/conversations/custom-channels/2026-03_/conversations/custom-channels/v3
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicChannelIntegrationChannelCreate'
        required: true
      responses:
        '201':
          description: successful operation
          headers:
            Location:
              description: URL of the newly created resource
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicChannelIntegrationChannel'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - developer_hapikey: []
components:
  schemas:
    PublicChannelIntegrationChannelCreate:
      required:
        - capabilities
        - name
      type: object
      properties:
        capabilities:
          type: object
          additionalProperties:
            type: object
            properties: {}
          description: >-
            Un objet qui définit les capacités du canal, avec des propriétés
            supplémentaires sous forme de paires clé-valeur.
        channelAccountConnectionRedirectUrl:
          type: string
          description: >-
            Chaîne représentant l'URL vers laquelle les utilisateurs seront
            redirigés pour connecter leur compte de canal.
        channelDescription:
          type: string
          description: Une chaîne fournissant une description du canal.
        channelLogoUrl:
          type: string
          description: Une chaîne représentant l'URL du logo du canal.
        name:
          type: string
          description: Une chaîne de caractères représentant le nom du canal.
        webhookUrl:
          type: string
          description: >-
            Une chaîne représentant l'URL à laquelle les événements de webhook
            seront envoyés.
    PublicChannelIntegrationChannel:
      required:
        - capabilities
        - createdAt
        - id
        - name
      type: object
      properties:
        capabilities:
          type: object
          additionalProperties:
            type: object
            properties: {}
          description: >-
            Un objet détaillant les capacités du canal, avec des propriétés
            supplémentaires en tant qu'objets.
        channelAccountConnectionRedirectUrl:
          type: string
          description: >-
            Chaîne représentant l'URL utilisée pour la redirection lors de la
            connexion d'un compte de canal.
        channelDescription:
          type: string
          description: Une chaîne de caractères fournissant une description du canal.
        channelLogoUrl:
          type: string
          description: Une chaîne représentant l'URL du logo du canal.
        createdAt:
          type: string
          description: La date et l'heure de création du canal, au format ISO 8601.
          format: date-time
        id:
          type: string
          description: Une chaîne qui identifie le canal de manière unique.
        name:
          type: string
          description: Une chaîne de caractères représentant le nom du canal.
        webhookUrl:
          type: string
          description: >-
            Une chaîne représentant l'URL à laquelle les événements de webhook
            seront envoyés.
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: La catégorie d'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identifiant unique pour la demande. Incluez cette valeur dans
            tous les rapports d'erreurs ou tickets d'assistance
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: informations supplémentaires à propos de l'erreur
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associés contenant de la
            documentation sur l'erreur ou les mesures correctives recommandées
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
      description: >-
        Représente une réponse d'erreur renvoyée par l'API lorsqu'une opération
        échoue. Ce composant est utilisé dans divers points de terminaison pour
        fournir des informations détaillées sur l'erreur rencontrée.
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: Le code du statut associé au détail de l'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: Le nom du champ ou du paramètre dans lequel l'erreur a été trouvée.
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
      description: >-
        Représente des informations détaillées sur une erreur survenue dans
        l'API. Ce composant est utilisé pour fournir un contexte et des
        spécificités supplémentaires sur les erreurs, généralement dans le cadre
        d'une réponse d'erreur.
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    developer_hapikey:
      type: apiKey
      name: hapikey
      in: query

````