{
  "args": {
    "channel": {
      "desc": "Channel ID for Slack channel that will be linked to a Salesforce record.",
      "required": true,
      "type": "string"
    },
    "record_id": {
      "desc": "Salesforce record ID (15 or 18 digit accepted). See here for how to look up record ID.",
      "example": "0019000000DmehKAAR",
      "required": true,
      "type": "string"
    },
    "salesforce_org_id": {
      "desc": "Salesforce org ID (15 or 18 digit accepted). See here for how to look up Salesforce org ID.",
      "example": "00DGC00000024hsuWY",
      "required": true,
      "type": "string"
    }
  },
  "desc": "Link a Salesforce record to a channel",
  "errors": {
    "channel_already_exists": "Object is linked to a different channel.",
    "channel_conversion_incomplete": "An active channel conversion is preventing linking.",
    "channel_is_archived": "Channel is archived.",
    "channel_not_found": "Value passed for `channel` is invalid.",
    "channel_not_org_wide_shared": "Channel is not Org-wide shared.",
    "channel_shared_with_nonapproved_team": "Channel is shared with a non-approved external team.",
    "invalid_channel_type": "Channel type cannot be linked.",
    "name_taken": "A channel cannot be created with the given name.",
    "not_allowed_for_grid_workspace": "Channel type is not allowed for this Enterprise org workspace.",
    "record_channel_already_exists": "Record is linked to a different channel.",
    "record_not_found": "Value passed for `record_id` is invalid.",
    "restricted_action": "User does not have access to perform this action."
  },
  "rate_limit": {
    "label": "Tier 2: 20+ per minute",
    "url": "https://docs.slack.dev/apis/web-api/rate-limits"
  },
  "scopes": {
    "user": [
      {
        "name": "admin.conversations:manage_objects",
        "url": "https://docs.slack.dev/reference/scopes/admin.conversations.manage_objects"
      }
    ]
  }
}

