Plane icon

Plane

Consume Plane API

Overview

The node integrates with the Plane API to manage project issues and related resources. Specifically, the Issue - Quick Create with AI operation enables users to create a new issue in a project by providing only a textual description of the requirement. The node leverages an AI service (DeepSeek) to analyze the description and automatically generate a suitable issue title, labels, priority, and initial state. It can also intelligently match or select the appropriate project based on the description if no explicit project ID is provided.

This operation is beneficial when you want to quickly log issues without manually specifying all details, relying on AI to interpret and enrich the input. For example, a product manager can describe a feature request in natural language, and the node will create a well-structured issue with relevant metadata, saving time and improving consistency.

Properties

Name Meaning
Project Name or ID The ID of the project where the issue should be created. You can choose from a list of projects or specify an ID via expression. If not provided, AI will attempt to find a suitable project based on the description.
Project Identifier Optional: A project identifier string (e.g., OPS, TECH), case-insensitive. Used to help identify the project if the project ID is not given.
Description Required: A textual description of the requirement or issue. The AI uses this to generate the issue's title, labels, priority, and state.
Assignee Email Prefix Optional: The prefix of the assignee's email address. If provided, the node tries to assign the issue to a project member whose email starts with this prefix.
DeepSeek API Key Required: An API key for the DeepSeek AI service used to generate the issue title, labels, priority, and state from the description.

Output

The output JSON object represents the newly created issue enriched with AI-generated metadata and additional information:

  • name: The AI-generated concise title of the issue.
  • description_html: The enriched detailed description formatted as HTML.
  • priority: The priority level assigned by AI (one of urgent/high/medium/low/none).
  • state: The ID of the issue state determined by AI (e.g., backlog, todo, in_progress).
  • assignees: (Optional) Array containing the ID of the matched assignee if an email prefix was provided.
  • labels: Array of label IDs created or matched by AI based on the description.
  • ai_analysis: An object containing the raw AI outputs including:
    • title: Generated issue title.
    • labels: Array of label names.
    • priority: Priority level.
    • state: State name.
    • enriched_description: Detailed enriched description.
    • reasoning_process: Explanation of how AI arrived at these values.
  • ai_project_match or project_match: If the project was selected by AI or matched by identifier, includes project name, identifier, confidence score, and reasoning details.

If binary data were involved (not applicable here), it would represent file attachments or similar assets.

Dependencies

  • Requires access to the Plane API with proper authentication configured in n8n credentials.
  • Requires a valid DeepSeek API key to call the DeepSeek AI service for natural language understanding and generation.
  • Uses the OpenAI-compatible DeepSeek model endpoint (deepseek-reasoner) for AI processing.
  • Network connectivity to both Plane API and DeepSeek API endpoints is necessary.

Troubleshooting

  • Missing or invalid DeepSeek API key: The node requires a valid DeepSeek API key; ensure it is correctly set and has sufficient permissions.
  • No suitable project found: If neither project ID nor identifier is provided, and AI cannot confidently match a project (confidence < 0.7), the node throws an error indicating failure to find a matching project.
  • AI response parsing errors: If the AI response does not include required fields like state, the node raises an error about missing AI response data.
  • Label creation conflicts: When creating labels, if a label with the same name already exists, the node handles it gracefully by fetching the existing label instead of failing.
  • Assignee not found: If the assignee email prefix does not match any project member, the issue will be created without an assignee.
  • General API errors: Network issues, invalid project IDs, or permission problems will result in standard API error messages. Verify credentials and resource identifiers.

Links and References

Discussion