{
  "service": "nocrm_io",
  "displayName": "noCRM.io",
  "categories": [
    "Marketing",
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "nocrm_api_key",
      "description": "noCRM.io API key sent with the X-API-KEY header.",
      "extraFields": [
        {
          "key": "subdomain",
          "label": "Subdomain",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "your-workspace",
          "description": "The noCRM.io account subdomain used to build https://<subdomain>.nocrm.io API requests."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.nocrm.io",
  "actions": [
    {
      "id": "nocrm_io.add_tag_to_lead",
      "service": "nocrm_io",
      "name": "add_tag_to_lead",
      "description": "Add one or more tags to a noCRM.io lead.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The identifier of the lead that should receive the tag."
          },
          "tag": {
            "type": "string",
            "minLength": 1,
            "description": "One tag or a comma-separated tag list accepted by noCRM.io."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId",
          "tag"
        ],
        "description": "Input parameters for adding tags to a noCRM.io lead."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A noCRM.io lead object."
          }
        },
        "additionalProperties": false,
        "required": [
          "lead"
        ],
        "description": "The output payload containing one noCRM.io lead."
      }
    },
    {
      "id": "nocrm_io.append_to_lead_description",
      "service": "nocrm_io",
      "name": "append_to_lead_description",
      "description": "Append text to the description of a noCRM.io lead.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The identifier of the lead whose description should be updated."
          },
          "toAppend": {
            "type": "string",
            "minLength": 1,
            "description": "The text to append to the lead description."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId",
          "toAppend"
        ],
        "description": "Input parameters for appending text to a noCRM.io lead description."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A noCRM.io lead object."
          }
        },
        "additionalProperties": false,
        "required": [
          "lead"
        ],
        "description": "The output payload containing one noCRM.io lead."
      }
    },
    {
      "id": "nocrm_io.assign_lead_to_user",
      "service": "nocrm_io",
      "name": "assign_lead_to_user",
      "description": "Assign a noCRM.io lead to a specific user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The identifier of the lead to assign."
          },
          "userId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The user email address or identifier that should receive the lead."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId",
          "userId"
        ],
        "description": "Input parameters for assigning a noCRM.io lead."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A noCRM.io lead object."
          }
        },
        "additionalProperties": false,
        "required": [
          "lead"
        ],
        "description": "The output payload containing one noCRM.io lead."
      }
    },
    {
      "id": "nocrm_io.change_lead_status_to_cancelled",
      "service": "nocrm_io",
      "name": "change_lead_status_to_cancelled",
      "description": "Change a noCRM.io lead status to cancelled.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The identifier of the target noCRM.io lead."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId"
        ],
        "description": "Input containing one noCRM.io lead identifier."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A noCRM.io lead object."
          }
        },
        "additionalProperties": false,
        "required": [
          "lead"
        ],
        "description": "The output payload containing one noCRM.io lead."
      }
    },
    {
      "id": "nocrm_io.change_lead_status_to_standby",
      "service": "nocrm_io",
      "name": "change_lead_status_to_standby",
      "description": "Change a noCRM.io lead to standby and schedule its next reminder.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The identifier of the lead to mark as standby."
          },
          "days": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of days before the reminder becomes due."
          },
          "activityId": {
            "type": "integer",
            "minimum": 1,
            "description": "The activity identifier to attach to the reminder."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId",
          "days"
        ],
        "description": "Input parameters for changing a noCRM.io lead to standby."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A noCRM.io lead object."
          }
        },
        "additionalProperties": false,
        "required": [
          "lead"
        ],
        "description": "The output payload containing one noCRM.io lead."
      }
    },
    {
      "id": "nocrm_io.create_lead",
      "service": "nocrm_io",
      "name": "create_lead",
      "description": "Create a lead in noCRM.io with the provided title and description.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "The lead title, usually the company name."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "The lead description, usually containing prospect details."
          },
          "userId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The user email address or identifier used for direct assignment."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Lead tags to send to noCRM.io."
          },
          "step": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The step name or identifier for the new lead."
          },
          "createdAt": {
            "type": "string",
            "minLength": 1,
            "description": "The lead creation timestamp to backfill."
          }
        },
        "additionalProperties": false,
        "required": [
          "title",
          "description"
        ],
        "description": "Input parameters for creating a noCRM.io lead."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A noCRM.io lead object."
          }
        },
        "additionalProperties": false,
        "required": [
          "lead"
        ],
        "description": "The output payload containing one noCRM.io lead."
      }
    },
    {
      "id": "nocrm_io.delete_lead",
      "service": "nocrm_io",
      "name": "delete_lead",
      "description": "Delete a noCRM.io lead.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The identifier of the target noCRM.io lead."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId"
        ],
        "description": "Input containing one noCRM.io lead identifier."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The deleted noCRM.io lead identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "The output payload for deleting a noCRM.io lead."
      }
    },
    {
      "id": "nocrm_io.duplicate_lead",
      "service": "nocrm_io",
      "name": "duplicate_lead",
      "description": "Duplicate an existing noCRM.io lead into another step.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "leadId": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The identifier of the lead to duplicate."
          },
          "step": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "A positive noCRM.io numeric identifier."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "A non-empty noCRM.io identifier string."
              }
            ],
            "description": "The step name or identifier for the duplicated lead."
          }
        },
        "additionalProperties": false,
        "required": [
          "leadId",
          "step"
        ],
        "description": "Input parameters for duplicating a noCRM.io lead."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lead": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A noCRM.io lead object."
          }
        },
        "additionalProperties": false,
        "required": [
          "lead"
        ],
        "description": "The output payload containing one noCRM.io lead."
      }
    },
    {
      "id": "nocrm_io.list_teams",
      "service": "nocrm_io",
      "name": "list_teams",
      "description": "List the teams available in the connected noCRM.io account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require any input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "teams": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "The noCRM.io team identifier."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The noCRM.io team name."
                },
                "users": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "minimum": 1,
                        "description": "The noCRM.io user identifier."
                      },
                      "lastname": {
                        "type": "string",
                        "minLength": 1,
                        "description": "The user's last name."
                      },
                      "firstname": {
                        "type": "string",
                        "minLength": 1,
                        "description": "The user's first name."
                      },
                      "email": {
                        "type": "string",
                        "description": "The user's email address.",
                        "format": "email"
                      },
                      "is_manager": {
                        "type": "boolean",
                        "description": "Whether the user is a team manager."
                      }
                    },
                    "additionalProperties": true,
                    "description": "A noCRM.io user object."
                  },
                  "description": "Users assigned to the team."
                },
                "created_at": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The team creation timestamp."
                },
                "updated_at": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The team update timestamp."
                }
              },
              "additionalProperties": true,
              "description": "A noCRM.io team object."
            },
            "description": "The noCRM.io teams returned by the request."
          }
        },
        "additionalProperties": false,
        "required": [
          "teams"
        ],
        "description": "The output payload containing noCRM.io teams."
      }
    }
  ]
}
