# Zoho Connect

> Team collaboration network. Post to the feed and groups, search and comment on posts, and create and update tasks on boards.

App · Messaging · 20 actions. Web page: https://docs.lodol.com/docs/integrations/zoho-connect

## Actions

### Add comment

Comment on a post, or reply to one of its comments.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Post ID (`post_id`, text, required): The post's id, from 'List recent posts', 'Search posts' or 'Create post', or the post's address in Zoho Connect.
- Content (`content`, text, required): The comment. HTML is allowed. Up to 10,000 characters.
- Reply to comment (`reply_to_comment_id`, text): Optional. The id of the comment to reply to.

**Outputs**: A comment on a post.

- `author` (object): A Zoho Connect user.
- `content` (text): The comment (rich-text HTML).
- `formatedTime` (text): When it was written, formatted.
- `id` (text): The comment id.
- `isReply` (true/false): Whether it is a reply.
- `likeCount` (number): How many likes it has.
- `parentCommentId` (text): The comment it replies to, or 0.
- `streamId` (text): The id of the post it is on.
- `time` (text): When it was written.

**Example output**

```json
{
  "author": {
    "hasCustomImg": true,
    "name": "John Doe",
    "zuid": "700000001"
  },
  "content": "Thanks for the update!",
  "id": "3000000080001",
  "parentCommentId": "0",
  "streamId": "3000000070002"
}
```

### Create post

Post a conversation, announcement or question to the network feed, or to a group.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Content (`content`, text, required): The post. HTML is allowed. Up to 30,000 characters.
- Post type (`post_type`, text): Optional. A conversation unless chosen otherwise. One of: `STATUS` (Conversation), `ANNOUNCEMENT`, `QUESTION`.
- Title (`title`, text): Optional. The title of a question or announcement, up to 300 characters.
- Group (`group_id`, text): Optional. Post to this group instead of the network feed.
- Email everyone (`notify_members`, true/false): Optional. For an announcement: email every member about it. Default: `false`.
- Announcement expires (`announcement_expires_at`, date and time): Optional. For an announcement: when it stops being shown.
- Turn off comments (`disable_comments`, true/false): Optional. Stop people commenting on the post. Default: `false`.

**Outputs**: A Zoho Connect post.

- `author` (object): A Zoho Connect user.
- `canComment` (true/false): Whether the user can comment.
- `canDelete` (true/false): Whether the user can delete it.
- `canEdit` (true/false): Whether the user can edit it.
- `commentCount` (number): How many comments it has.
- `content` (text): The post (rich-text HTML).
- `id` (text): The post id.
- `partition` (object): Where the post lives: a group, board or the network feed.
- `status` (text): ACTIVE...
- `streamUrl` (text): The post's address in Zoho Connect.
- `title` (text): The title, for questions and announcements.
- `type` (text): STATUS, ANNOUNCEMENT, QUESTION, TASK...

**Example output**

```json
{
  "author": {
    "hasCustomImg": true,
    "name": "John Doe",
    "zuid": "700000001"
  },
  "canComment": true,
  "canDelete": true,
  "canEdit": true,
  "content": "Group update for the engineering team.",
  "id": "3000000070002",
  "partition": {
    "id": "3000000256092",
    "name": "Engineering",
    "type": "GROUP"
  },
  "status": "ACTIVE",
  "type": "STATUS"
}
```

### Create task

Add a task to a board section. Returns its task_id and the post_id of the post carrying it.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Board (`board_id`, text, required): The board.
- Section (`section_id`, text, required): The board section to put the task in.
- Title (`title`, text, required): The task's title.
- Description (`description`, text): Optional. The task's description.
- Priority (`priority`, text): Optional. The task's priority. One of: `None`, `Low`, `Medium`, `High`.
- Assignees (`assignee_ids`, list): Optional. Who to assign it to: ids from 'List network members', comma-separated, up to 100.

**Outputs**: A Zoho Connect task.

- `assigneesCount` (number): How many people it is assigned to.
- `board` (object): Where the post lives: a group, board or the network feed.
- `commentCount` (number): How many comments it has.
- `createdTime` (text): When it was created.
- `desc` (text): The task's description.
- `formattedDueDate` (text): The due date, formatted.
- `formattedStartDate` (text): The start date, formatted.
- `isCompleted` (true/false): Whether the task is done.
- `isOverDue` (true/false): Whether the task is overdue.
- `post_id` (text): The id of the post carrying the task, used to get it.
- `priority` (text): The priority.
- `section` (object): The board section.
- `status` (number): The status: 0 open, 1 closed.
- `task_id` (text): The task id, used to update or delete the task.
- `title` (text): The task's title.

**Example output**

```json
{
  "board": {
    "id": "3000000300001",
    "name": "Launch",
    "type": "PROJECT"
  },
  "id": "3000000060001",
  "isCompleted": false,
  "post_id": "3000000060002",
  "priority": "Medium",
  "section": {
    "id": "3000000300011",
    "name": "To do"
  },
  "status": 0,
  "streamId": "3000000060002",
  "task_id": "3000000060001",
  "title": "Prepare the launch notes"
}
```

### Delete comment

Delete a comment. This cannot be undone.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Comment ID (`comment_id`, text, required): The comment's id, from 'List comments' or 'Add comment'.

**Outputs**: The deleted comment.

- `comment_id` (text): The comment id.
- `deleted` (true/false): Always true.

**Example output**

```json
{
  "comment_id": "3000000080001",
  "deleted": true
}
```

### Delete post

Delete a post. This cannot be undone.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Post ID (`post_id`, text, required): The post's id, from 'List recent posts', 'Search posts' or 'Create post', or the post's address in Zoho Connect.

**Outputs**: The deleted post.

- `deleted` (true/false): Always true.
- `post_id` (text): The post id.

**Example output**

```json
{
  "deleted": true,
  "post_id": "3000000070002"
}
```

### Delete task

Delete a task and its sub-tasks. This cannot be undone.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Task ID (`task_id`, text, required): The task_id that 'Create task' returned (not the post_id).

**Outputs**: The deleted task.

- `deleted` (true/false): Always true.
- `task_id` (text): The task id.

**Example output**

```json
{
  "deleted": true,
  "task_id": "3000000060001"
}
```

### Get my profile

Get the connected user's profile in a network.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.

**Outputs**: The connected user's profile in the network.

- `aboutMe` (text): About me.
- `department` (text): Department.
- `designation` (text): Job title.
- `emailId` (text): Email address.
- `employeeId` (text): Employee id.
- `firstName` (text): First name.
- `followerCount` (number): How many people follow the user.
- `followingCount` (number): How many people the user follows.
- `lastName` (text): Last name.
- `mobile` (text): Mobile number.
- `name` (text): Display name.
- `partitionId` (text): The id of the user's own feed.
- `type` (text): The kind of user.
- `userStatus` (text): active, disabled or inactive.
- `workLocation` (text): Work location.
- `zuid` (text): The user's Zoho account id (ZUID).

**Example output**

```json
{
  "emailId": "john@example.com",
  "firstName": "John",
  "lastName": "Doe",
  "name": "John Doe",
  "userStatus": "active",
  "zuid": "700000001"
}
```

### Get post

Get one post with its comments.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Post ID (`post_id`, text, required): The post's id, from 'List recent posts', 'Search posts' or 'Create post', or the post's address in Zoho Connect.

**Outputs**: A Zoho Connect post with its comments.

- `author` (object): A Zoho Connect user.
- `canComment` (true/false): Whether the user can comment.
- `canDelete` (true/false): Whether the user can delete it.
- `canEdit` (true/false): Whether the user can edit it.
- `commentCount` (number): How many comments it has.
- `comments` (list): The post's comments.
- `content` (text): The post (rich-text HTML).
- `id` (text): The post id.
- `partition` (object): Where the post lives: a group, board or the network feed.
- `status` (text): ACTIVE...
- `streamUrl` (text): The post's address in Zoho Connect.
- `title` (text): The title, for questions and announcements.
- `type` (text): STATUS, ANNOUNCEMENT, QUESTION, TASK...

**Example output**

```json
{
  "author": {
    "hasCustomImg": true,
    "name": "John Doe",
    "zuid": "700000001"
  },
  "canComment": true,
  "canDelete": true,
  "canEdit": true,
  "comments": [
    {
      "author": {
        "hasCustomImg": true,
        "name": "John Doe",
        "zuid": "700000001"
      },
      "content": "Thanks for the update!",
      "id": "3000000080001",
      "parentCommentId": "0",
      "streamId": "3000000070002"
    }
  ],
  "content": "Group update for the engineering team.",
  "id": "3000000070002",
  "partition": {
    "id": "3000000256092",
    "name": "Engineering",
    "type": "GROUP"
  },
  "status": "ACTIVE",
  "type": "STATUS"
}
```

### Get task

Get one task with its comments, by the post_id 'Create task' returned.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Task post ID (`post_id`, text, required): The post_id that 'Create task' returned (the post carrying the task), not the task_id.

**Outputs**: A Zoho Connect task with its comments.

- `assigneesCount` (number): How many people it is assigned to.
- `board` (object): Where the post lives: a group, board or the network feed.
- `commentCount` (number): How many comments it has.
- `comment_count` (number): How many comments it has.
- `comments` (list): The task's comments.
- `createdTime` (text): When it was created.
- `desc` (text): The task's description.
- `formattedDueDate` (text): The due date, formatted.
- `formattedStartDate` (text): The start date, formatted.
- `isCompleted` (true/false): Whether the task is done.
- `isOverDue` (true/false): Whether the task is overdue.
- `post_id` (text): The id of the post carrying the task, used to get it.
- `priority` (text): The priority.
- `section` (object): The board section.
- `status` (number): The status: 0 open, 1 closed.
- `task_id` (text): The task id, used to update or delete the task.
- `title` (text): The task's title.

**Example output**

```json
{
  "board": {
    "id": "3000000300001",
    "name": "Launch",
    "type": "PROJECT"
  },
  "comment_count": 0,
  "comments": [],
  "id": "3000000060001",
  "isCompleted": false,
  "post_id": "3000000060002",
  "priority": "Medium",
  "section": {
    "id": "3000000300011",
    "name": "To do"
  },
  "status": 0,
  "streamId": "3000000060002",
  "task_id": "3000000060001",
  "title": "Prepare the launch notes"
}
```

### List boards

List your task boards with their sections.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.

**Outputs**

- `count` (number): How many boards were returned.
- `default_priorities` (list): Task priorities.
- `default_statuses` (list): Task statuses: Open (0) and Closed (1).
- `items` (list): The boards.
- `sections` (list): Every board's sections, with board_id.

**Example output**

```json
{
  "count": 1,
  "default_priorities": [
    {
      "id": 0,
      "name": "None"
    },
    {
      "id": 3,
      "name": "High"
    }
  ],
  "default_statuses": [
    {
      "id": 0,
      "name": "Open"
    },
    {
      "id": 1,
      "name": "Closed"
    }
  ],
  "items": [
    {
      "canCreateTask": true,
      "id": "3000000300001",
      "name": "Launch",
      "sections": [
        {
          "id": "3000000300011",
          "name": "To do",
          "taskCount": 3
        }
      ],
      "type": "PROJECT"
    }
  ],
  "sections": [
    {
      "board_id": "3000000300001",
      "board_name": "Launch",
      "id": "3000000300011",
      "name": "To do",
      "taskCount": 3
    }
  ]
}
```

### List comments

List the comments on a post.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Post ID (`post_id`, text, required): The post's id, from 'List recent posts', 'Search posts' or 'Create post', or the post's address in Zoho Connect.
- View (`view`, text): Optional. Threaded, or newest first. One of: `THREAD` (Threaded), `RECENT` (Newest first).

**Outputs**

- `count` (number): How many comments were returned.
- `items` (list): The comments.

**Example output**

```json
{
  "count": 1,
  "items": [
    {
      "author": {
        "hasCustomImg": true,
        "name": "John Doe",
        "zuid": "700000001"
      },
      "content": "Thanks for the update!",
      "id": "3000000080001",
      "parentCommentId": "0",
      "streamId": "3000000070002"
    }
  ]
}
```

### List group members

List the members of a group, a page at a time.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Group (`group_id`, text, required): The group.
- Page (`page`, number): Optional. The next_page of the previous result; 0 for the first. At least 0.

**Outputs**

- `count` (number): How many group members were returned.
- `has_more` (true/false): Whether another page is available.
- `items` (list): The group members.
- `next_page` (number): The page to ask for next.
- `total` (number): How many members the group has.

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "emailId": "john@example.com",
      "id": "700000001",
      "name": "John Doe",
      "role": "MEMBER",
      "type": "C",
      "zuid": "700000001"
    }
  ],
  "next_page": null,
  "total": 1
}
```

### List group posts

List a group's posts, newest first.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Group (`group_id`, text, required): The group.
- Page size (`limit`, number): Optional. How many to return, 5 to 30. Default 20. From 5 to 30.
- Cursor (`cursor`, text): Optional. The next_cursor of the previous page, for older posts.

**Outputs**

- `count` (number): How many posts were returned.
- `has_more` (true/false): Whether there may be older posts.
- `items` (list): The posts.
- `next_cursor` (text): Pass as Cursor to get the next, older page.

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "author": {
        "hasCustomImg": true,
        "name": "John Doe",
        "zuid": "700000001"
      },
      "canComment": true,
      "canDelete": true,
      "canEdit": true,
      "content": "Group update for the engineering team.",
      "id": "3000000070002",
      "partition": {
        "id": "3000000256092",
        "name": "Engineering",
        "type": "GROUP"
      },
      "status": "ACTIVE",
      "type": "STATUS"
    }
  ],
  "next_cursor": "1700000000000"
}
```

### List groups

List the groups you can see in a network, joined or not.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Include Company Wall (`include_company_wall`, true/false): Optional. Also list the network's Company Wall. Default: `false`.
- Maximum (`limit`, number): Optional. At most this many groups. At least 1.

**Outputs**

- `count` (number): How many groups were returned.
- `items` (list): The groups.

**Example output**

```json
{
  "count": 1,
  "items": [
    {
      "accessType": "OPEN_PUBLIC",
      "id": "3000000256092",
      "isJoined": true,
      "name": "Engineering",
      "role": "MEMBER",
      "status": "ACTIVE",
      "type": "GROUP"
    }
  ]
}
```

### List network members

List a network's members, clients and external clients, with the ids used to assign tasks.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Changed after (`modified_after`, date and time): Optional. Only members changed after this moment.

**Outputs**

- `clients_count` (number): How many are clients or external clients.
- `count` (number): How many members, clients and external clients were returned.
- `items` (list): The members, clients and external clients.
- `users_count` (number): How many are members.

**Example output**

```json
{
  "clients_count": 0,
  "count": 1,
  "items": [
    {
      "emailId": "john@example.com",
      "id": "700000001",
      "name": "John Doe",
      "type": "C"
    }
  ],
  "users_count": 1
}
```

### List networks

List the Zoho Connect networks you belong to, the default first.

**Inputs**

- Admin only (`admin_only`, true/false): Optional. Only networks you administer. Default: `false`.

**Outputs**

- `count` (number): How many networks were returned.
- `items` (list): The networks.

**Example output**

```json
{
  "count": 1,
  "items": [
    {
      "id": "3000000000008",
      "isDefault": true,
      "name": "Zillium",
      "soid": "38523447",
      "url": "https://connect.zoho.com/portal/zillium",
      "zoid": "15065798"
    }
  ]
}
```

### List recent posts

List the network feed's most recent posts, newest first.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Post type (`post_type`, text): Optional. Only posts of this type. One of: `STATUS` (Conversation), `ANNOUNCEMENT`, `QUESTION`, `POLL`.
- Page size (`limit`, number): Optional. How many to return, 10 to 30. Default 20. From 10 to 30.
- Cursor (`cursor`, text): Optional. The next_cursor of the previous page, for older posts.

**Outputs**

- `count` (number): How many posts were returned.
- `has_more` (true/false): Whether there may be older posts.
- `items` (list): The posts.
- `next_cursor` (text): Pass as Cursor to get the next, older page.

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "author": {
        "hasCustomImg": true,
        "name": "John Doe",
        "zuid": "700000001"
      },
      "canComment": true,
      "canDelete": true,
      "canEdit": true,
      "content": "Group update for the engineering team.",
      "id": "3000000070002",
      "partition": {
        "id": "3000000256092",
        "name": "Engineering",
        "type": "GROUP"
      },
      "status": "ACTIVE",
      "type": "STATUS"
    }
  ],
  "next_cursor": "1700000000000"
}
```

### Search posts

Search a network's posts by words, optionally by group, author and date.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Query (`query`, text, required): The words to search for.
- Group (`group_id`, text): Optional. Only posts in this group.
- Author ID (`author_id`, text): Optional. Only posts by this person: an id from 'List network members'.
- Sort by (`sort_by`, text): Optional. Best match or newest first. One of: `date` (Newest first), `relevance` (Best match).
- From (`from_date`, date): Optional. Only posts from this day on.
- To (`to_date`, date): Optional. Only posts up to this day.
- Page (`page`, number): Optional. The page to return; 0 for the first. At least 0.

**Outputs**

- `count` (number): How many matching posts were returned.
- `items` (list): The matching posts.
- `page_index` (number): The page index Zoho Connect reported.

**Example output**

```json
{
  "count": 1,
  "items": [
    {
      "author": {
        "hasCustomImg": true,
        "name": "John Doe",
        "zuid": "700000001"
      },
      "canComment": true,
      "canDelete": true,
      "canEdit": true,
      "content": "Group update for the engineering team.",
      "id": "3000000070002",
      "partition": {
        "id": "3000000256092",
        "name": "Engineering",
        "type": "GROUP"
      },
      "status": "ACTIVE",
      "type": "STATUS"
    }
  ],
  "page_index": 1
}
```

### Update post

Change a post's text or title, or turn its comments off or on.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Post ID (`post_id`, text, required): The post's id, from 'List recent posts', 'Search posts' or 'Create post', or the post's address in Zoho Connect.
- Content (`content`, text): Optional. The new text. HTML is allowed. Up to 30,000 characters.
- Title (`title`, text): Optional. The new title, up to 300 characters.
- Turn off comments (`disable_comments`, true/false): Optional. True to stop comments, false to allow them.

**Outputs**: A Zoho Connect post.

- `author` (object): A Zoho Connect user.
- `canComment` (true/false): Whether the user can comment.
- `canDelete` (true/false): Whether the user can delete it.
- `canEdit` (true/false): Whether the user can edit it.
- `commentCount` (number): How many comments it has.
- `content` (text): The post (rich-text HTML).
- `id` (text): The post id.
- `partition` (object): Where the post lives: a group, board or the network feed.
- `status` (text): ACTIVE...
- `streamUrl` (text): The post's address in Zoho Connect.
- `title` (text): The title, for questions and announcements.
- `type` (text): STATUS, ANNOUNCEMENT, QUESTION, TASK...

**Example output**

```json
{
  "author": {
    "hasCustomImg": true,
    "name": "John Doe",
    "zuid": "700000001"
  },
  "canComment": true,
  "canDelete": true,
  "canEdit": true,
  "content": "Group update for the engineering team.",
  "id": "3000000070002",
  "partition": {
    "id": "3000000256092",
    "name": "Engineering",
    "type": "GROUP"
  },
  "status": "ACTIVE",
  "type": "STATUS"
}
```

### Update task

Change a task's title, description, priority, status or assignees, or clear its dates. Only the fields given change.

**Inputs**

- Network (`scope_id`, text, required): The Zoho Connect network to work in.
- Task ID (`task_id`, text, required): The task_id that 'Create task' returned (not the post_id).
- Title (`title`, text): Optional. The new title.
- Description (`description`, text): Optional. The new description.
- Priority (`priority`, text): Optional. The task's priority. One of: `None`, `Low`, `Medium`, `High`.
- Status (`status`, text): Optional. Open or Closed. One of: `Open`, `Closed`.
- Add assignees (`add_assignee_ids`, list): Optional. Ids from 'List network members' to assign, up to 50.
- Remove assignees (`remove_assignee_ids`, list): Optional. Ids of assignees to remove, up to 50.
- Clear start date (`clear_start_date`, true/false): Optional. Remove the task's start date. Default: `false`.
- Clear due date (`clear_due_date`, true/false): Optional. Remove the task's due date. Default: `false`.

**Outputs**: What Zoho Connect reports for the fields changed.

- `desc` (text): The description.
- `formattedDueDate` (text): The due date, formatted.
- `formattedStartDate` (text): The start date, formatted.
- `isCompleted` (true/false): Whether the task is done.
- `taskPriority` (object): A named value.
- `taskStatus` (object): A named value.
- `task_id` (text): The task id.
- `title` (text): The title.
- `updated_fields` (list): The fields changed, in order.

**Example output**

```json
{
  "taskPriority": {
    "id": 3,
    "name": "High"
  },
  "task_id": "3000000060001",
  "updated_fields": [
    "priority"
  ]
}
```
