Zoho Sheet

App · Spreadsheets · 20 actions

Online spreadsheets. Create, copy and share workbooks, manage worksheets and tables, read, add, update and delete rows as records, and read or write cells.

Actions

ActionWhat it does
Add table recordsAdd rows to a table, at its end or its top.
Add worksheet recordsAdd rows after a worksheet's last used row, matched to its header row.
Copy a workbookMake a copy of a workbook, such as a template to fill in.
Create a tableTurn a range of a worksheet into a table, so its rows can be read and written as records.
Create a workbookCreate an empty workbook with one worksheet, in My Folder of Zoho WorkDrive unless a folder is given.
Create a worksheetAdd a worksheet (tab) to a workbook.
Delete a worksheetDelete a worksheet and everything on it.
Delete worksheet recordsDelete the worksheet rows that match a condition, or the rows at given numbers.
Find cellsFind the cells containing some text, in the whole workbook, one worksheet, one row or one column.
Get range contentRead the non-empty cells of a range, row by row.
Get table recordsRead a table's rows as records keyed by column header, optionally only those matching a condition.
Get worksheet recordsRead a worksheet's rows as records keyed by the header row, optionally only those matching a condition.
List tablesList a workbook's tables and the cells each covers.
List workbooksList the workbooks the account owns or has been shared.
List worksheetsList a workbook's worksheets (tabs), in order.
Move a workbook to the trashMove a workbook to the trash.
Set a cellWrite a value or a formula (starting with =) to one cell.
Share a workbookGive someone access to a workbook, change it, or remove it.
Update table recordsChange columns on the table rows that match a condition.
Update worksheet recordsChange columns on the worksheet rows that match a condition.

Add table records

Add rows to a table, at its end or its top.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Tabletable_nametextRequired
The table, by name, such as Table1.
Rowrow_valuesobject
One row to add: each column's header and its value. Use 'Rows' instead to add several.
Rowsjson_datalist
Optional. Several rows to add, each keyed by column header, e.g. [{"Name": "Joe", "Units": 284}, {"Name": "Beth", "Units": 290}]. Replaces 'Row' when given.
Add at the topinsert_at_toptrue/false
Optional. Add the rows above the others.Default: false.

Outputs

Where the rows were written.

end_columnnumber
The last column written.
end_rownumber
The last row written.
records_addednumber
How many rows were sent.
sheet_nametext
The worksheet written to.
start_columnnumber
The first column written.
start_rownumber
The first row written.
Example output
{
  "end_column": 3,
  "end_row": 11,
  "records_added": 2,
  "sheet_name": "Sheet1",
  "start_column": 1,
  "start_row": 10
}

Add worksheet records

Add rows after a worksheet's last used row, matched to its header row. Up to 1,000 rows at a time.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Worksheetworksheet_nametextRequired
The worksheet (tab), by name, such as Sheet1.
Rowrow_valuesobject
One row to add: each column's header and its value. Use 'Rows' instead to add several.
Rowsjson_datalist
Optional. Several rows to add, each keyed by column header, e.g. [{"Name": "Joe", "Units": 284}, {"Name": "Beth", "Units": 290}]. Replaces 'Row' when given.
Header rowheader_rownumber
Optional. The row holding the column names. Defaults to 1; set it when the data starts lower down.From 1 to 65536.

Outputs

Where the rows were written.

end_columnnumber
The last column written.
end_rownumber
The last row written.
records_addednumber
How many rows were sent.
sheet_nametext
The worksheet written to.
start_columnnumber
The first column written.
start_rownumber
The first row written.
Example output
{
  "end_column": 3,
  "end_row": 11,
  "records_added": 2,
  "sheet_name": "Sheet1",
  "start_column": 1,
  "start_row": 10
}

Copy a workbook

Make a copy of a workbook, such as a template to fill in.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Name of the copyworkbook_nametext
Optional. Defaults to Zoho's 'Copy of ...' name.
Folder IDparent_idtext
Optional. The id of the Zoho WorkDrive folder to put the copy in. Defaults to My Folder.
Keep locked rangescopy_lock_settingstrue/false
Optional. Copy the workbook's locked ranges and worksheets too.Default: true.

Outputs

The copy.

resource_idtext
The copy's workbook id.
source_resource_idtext
The id of the workbook that was copied.
workbook_nametext
The copy's name.
workbook_urltext
The copy's address in Zoho Sheet.
Example output
{
  "resource_id": "aaaaabbbbbccccdddddfffff",
  "source_resource_id": "aaaaabbbbbccccdddddeeeee",
  "workbook_name": "Copy of Test",
  "workbook_url": "https://sheet.zoho.com/sheet/open/aaaaabbbbbccccdddddfffff"
}

Create a table

Turn a range of a worksheet into a table, so its rows can be read and written as records.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Worksheetworksheet_nametextRequired
The worksheet (tab), by name, such as Sheet1.
First rowstart_rownumberRequired
The range's first row.From 1 to 65536.
First columnstart_columntextRequired
The range's first column, as a number or a letter (1 or A).
Last rowend_rownumberRequired
The range's last row.From 1 to 65536.
Last columnend_columntextRequired
The range's last column, as a number or a letter (3 or C).
First row is the headercontains_headertrue/false
Optional. Off adds a header row above the range instead.Default: true.
Header namesheader_nameslist
Optional. One different name per column, such as Phone, Email.

Outputs

The new table.

table_idnumber
The table's id.
table_nametext
The table's name, e.g. Table1.
Example output
{
  "table_id": 1,
  "table_name": "Table1"
}

Create a workbook

Create an empty workbook with one worksheet, in My Folder of Zoho WorkDrive unless a folder is given.

Inputs

Nameworkbook_nametextRequired
The new workbook's name.
Folder IDparent_idtext
Optional. The id of the Zoho WorkDrive folder to create it in. Defaults to My Folder.

Outputs

The new workbook.

resource_idtext
The workbook's id, used by every other Zoho Sheet action.
workbook_nametext
The workbook's name.
workbook_urltext
The workbook's address in Zoho Sheet.
worksheet_idtext
The id of its first worksheet, e.g. 0#.
worksheet_nametext
The name of its first worksheet, e.g. Sheet1.
Example output
{
  "resource_id": "aaaaabbbbbccccdddddeeeee",
  "workbook_name": "Sheet1",
  "workbook_url": "https://sheet.zoho.com/sheet/open/aaaaabbbbbccccdddddeeeee",
  "worksheet_id": "0#",
  "worksheet_name": "Sheet1"
}

Create a worksheet

Add a worksheet (tab) to a workbook.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Nameworksheet_nametext
Optional. Up to 31 characters. Defaults to the next free SheetN name.

Outputs

The new worksheet and all the workbook's worksheets.

new_worksheet_nametext
The new worksheet's name, as Zoho reports it.
worksheet_idtext
The new worksheet's id.
worksheet_nametext
The new worksheet's name.
worksheet_nameslist
Every worksheet, in order.
Example output
{
  "new_worksheet_name": "Sheet3",
  "worksheet_id": "2#",
  "worksheet_name": "Sheet3",
  "worksheet_names": [
    {
      "worksheet_id": "0#",
      "worksheet_name": "Sheet1"
    },
    {
      "worksheet_id": "2#",
      "worksheet_name": "Sheet3"
    }
  ]
}

Delete a worksheet

Delete a worksheet and everything on it. A workbook's last worksheet cannot be deleted.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Worksheetworksheet_nametextRequired
The worksheet (tab), by name, such as Sheet1.

Outputs

The worksheets left.

deleted_worksheet_nametext
The worksheet that was deleted.
worksheet_nameslist
The remaining worksheets.
Example output
{
  "deleted_worksheet_name": "Sheet3",
  "worksheet_names": [
    {
      "worksheet_id": "0#",
      "worksheet_name": "Sheet1"
    }
  ]
}

Delete worksheet records

Delete the worksheet rows that match a condition, or the rows at given numbers.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Worksheetworksheet_nametextRequired
The worksheet (tab), by name, such as Sheet1.
Conditioncriteriatext
Optional. Which rows, such as "Month"="March" or "Amount">50. Compare with =, !=, >, < or contains, and join up to five with and / or, e.g. ("Month"="March" or "Month"="April") and "Amount">30.
Row numbersrow_arraylist
Optional. Delete these rows instead of using a condition, such as 2, 3, 5.
Remove the rowsdelete_rowstrue/false
Optional. On removes the rows and moves the rows below up. Off only clears their cells.Default: true.
First match onlyfirst_match_onlytrue/false
Optional. Change only the first row that matches.Default: false.
Match caseis_case_sensitivetrue/false
Optional. Whether the condition matches upper and lower case exactly.Default: true.
Header rowheader_rownumber
Optional. The row holding the column names. Defaults to 1; set it when the data starts lower down.From 1 to 65536.

Outputs

How many rows were deleted.

no_of_rows_deletednumber
How many rows were deleted or erased.
no_of_rows_remainingnumber
How many matching rows Zoho left for another call; run the step again when this is above 0.
Example output
{
  "no_of_rows_deleted": 5,
  "no_of_rows_remaining": 0
}

Find cells

Find the cells containing some text, in the whole workbook, one worksheet, one row or one column.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
TextsearchtextRequired
The text to look for.
Search insearch_scopetext
Optional. Defaults to the whole workbook.One of: workbook, worksheet, row, column. Default: workbook.
Worksheetworksheet_nametext
Required unless searching the whole workbook.
Rowrownumber
Required when searching a row: its number.From 1 to 65536.
Columncolumntext
Required when searching a column: its number or letter.
Match caseis_case_sensitivetrue/false
Optional. Match upper and lower case exactly.Default: false.
Whole cell onlyis_exact_matchtrue/false
Optional. Match only cells whose whole content is the text.Default: false.

Outputs

The matching cells.

cellslist
The matching cells.
matches_foundnumber
How many cells matched.
Example output
{
  "cells": [
    {
      "column_index": 1,
      "content": "jack",
      "row_index": 1,
      "worksheet_id": "1#",
      "worksheet_name": "test2"
    }
  ],
  "matches_found": 1
}

Get range content

Read the non-empty cells of a range, row by row.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Worksheetworksheet_nametextRequired
The worksheet (tab), by name, such as Sheet1.
First rowstart_rownumberRequired
The range's first row.From 1 to 65536.
First columnstart_columntextRequired
The range's first column, as a number or a letter (1 or A).
Last rowend_rownumberRequired
The range's last row.From 1 to 65536.
Last columnend_columntextRequired
The range's last column, as a number or a letter (3 or C).

Outputs

The range's non-empty cells.

range_detailslist
Each row that has content; empty rows are left out.
Example output
{
  "range_details": [
    {
      "row_details": [
        {
          "column_index": 3,
          "content": "d"
        }
      ],
      "row_index": 2
    }
  ]
}

Get table records

Read a table's rows as records keyed by column header, optionally only those matching a condition.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Tabletable_nametextRequired
The table, by name, such as Table1.
Where columncriteria_columntext
Optional. The header of the column to test.
Iscriteria_operatortext
Optional. How to compare. Defaults to equals.One of: EQUALS, NOT_EQUALS (does not equal), CONTAINS, NOT_CONTAINS (does not contain), GREATER_THAN (is greater than), LESS_THAN (is less than), IS_EMPTY (is empty), IS_NOT_EMPTY (is not empty).
Valuecriteria_valuetext
Optional. What to compare with (not needed for empty tests).
Compare ascriteria_typetext
Optional. Text, a date or a number. Dates and numbers support only equals, does not equal, greater than and less than.One of: String, Date, Number.
Conditions (advanced)criteria_jsonlist
Optional. Up to five conditions, replacing the one above, e.g. [{"key": "Month", "operator": "EQUALS", "matcher": "March"}, {"key": "Amount", "operator": "GREATER_THAN", "matcher": 50, "type": "Number"}]. Operators: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, GREATER_THAN, LESS_THAN, IS_EMPTY, IS_NOT_EMPTY, IN, NOT_IN.
Combine conditions ascriteria_patterntext
Required with more than one condition: how they combine, by position, such as 1 AND 2 or (1 OR 2) AND 3.
Columnscolumn_nameslist
Optional. Only these columns, by header. Leave empty for all.
Values asrender_optiontext
Optional. How cell values come back. Defaults to as shown.One of: formatted (As shown (formatted)), unformatted (Raw values), formula (Formulas).
Maximum recordscountnumber
Optional. At most this many records.From 1 to 65536.
Match caseis_case_sensitivetrue/false
Optional. Whether the condition matches upper and lower case exactly.Default: true.

Outputs

The table's matching rows.

recordslist
The rows.
records_countnumber
How many rows matched.
Example output
{
  "records": [
    {
      "Amount": 60,
      "Item": "Pen",
      "Month": "March",
      "Source": "Anderson",
      "row_index": 1
    },
    {
      "Amount": 40,
      "Item": "Pencil",
      "Month": "April",
      "Source": "Gill",
      "row_index": 2
    }
  ],
  "records_count": 2
}

Get worksheet records

Read a worksheet's rows as records keyed by the header row, optionally only those matching a condition.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Worksheetworksheet_nametextRequired
The worksheet (tab), by name, such as Sheet1.
Conditioncriteriatext
Optional. Which rows, such as "Month"="March" or "Amount">50. Compare with =, !=, >, < or contains, and join up to five with and / or, e.g. ("Month"="March" or "Month"="April") and "Amount">30.
Columnscolumn_nameslist
Optional. Only these columns, by header. Leave empty for all.
Values asrender_optiontext
Optional. How cell values come back. Defaults to as shown.One of: formatted (As shown (formatted)), unformatted (Raw values), formula (Formulas).
Start at recordrecords_start_indexnumber
Optional. Skip to this record (1 is the first).From 1 to 65536.
Maximum recordscountnumber
Optional. At most this many records.From 1 to 65536.
Header rowheader_rownumber
Optional. The row holding the column names. Defaults to 1; set it when the data starts lower down.From 1 to 65536.
Match caseis_case_sensitivetrue/false
Optional. Whether the condition matches upper and lower case exactly.Default: true.

Outputs

The worksheet's matching rows.

recordslist
The rows.
records_countnumber
How many rows matched.
records_end_indexnumber
The position just after the last row returned.
records_start_indexnumber
The position of the first row returned.
Example output
{
  "records": [
    {
      "Amount": 60,
      "Item": "Pen",
      "Month": "March",
      "Source": "Anderson",
      "row_index": 1
    },
    {
      "Amount": 40,
      "Item": "Pencil",
      "Month": "April",
      "Source": "Gill",
      "row_index": 2
    }
  ],
  "records_count": 2,
  "records_end_index": 3,
  "records_start_index": 1
}

List tables

List a workbook's tables and the cells each covers.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).

Outputs

The workbook's tables.

tableslist
The tables.
Example output
{
  "tables": [
    {
      "end_column": 5,
      "end_row": 10,
      "start_column": 1,
      "start_row": 1,
      "table_id": 1,
      "table_name": "Table1"
    }
  ]
}

List workbooks

List the workbooks the account owns or has been shared.

Inputs

Sort bysort_optiontext
Optional. Defaults to recently created.One of: recently_opened (Recently opened), recently_modified (Recently changed), recently_created (Recently created), ascending (Name, A to Z), descending (Name, Z to A).
Start atstart_indexnumber
Optional. Skip to this position in the list (1 is the first).At least 1.
Maximum workbookscountnumber
Optional. At most this many. Zoho's default is 1000.From 1 to 1000.

Outputs

Workbooks the account owns or has been shared.

resource_countnumber
How many workbooks there are in all.
resource_end_indexnumber
The position of the last workbook listed.
resource_start_indexnumber
The position of the first workbook listed.
workbookslist
The workbooks.
Example output
{
  "resource_count": 1,
  "resource_end_index": 1,
  "resource_start_index": 1,
  "workbooks": [
    {
      "created_by": "jack",
      "created_time": "Friday, 6 April, 2018 4:14:10 PM",
      "last_modified_time": "Friday, 6 April, 2018 4:14:10 PM",
      "resource_id": "aaaaabbbbbccccdddddeeeee",
      "workbook_name": "Test workbook",
      "workbook_url": "https://sheet.zoho.com/sheet/open/aaaaabbbbbccccdddddeeeee"
    }
  ]
}

List worksheets

List a workbook's worksheets (tabs), in order.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).

Outputs

The workbook's worksheets.

worksheet_nameslist
The worksheets, in order.
Example output
{
  "worksheet_names": [
    {
      "worksheet_id": "0#",
      "worksheet_name": "Sheet1"
    },
    {
      "worksheet_id": "2#",
      "worksheet_name": "Sheet3"
    }
  ]
}

Move a workbook to the trash

Move a workbook to the trash. It can be restored from Zoho WorkDrive's trash.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).

Outputs

The workbook moved to the trash.

resource_idtext
The trashed workbook's id.
trashedtrue/false
Always true: Zoho moved it to the trash.
Example output
{
  "resource_id": "aaaaabbbbbccccdddddeeeee",
  "trashed": true
}

Set a cell

Write a value or a formula (starting with =) to one cell.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Worksheetworksheet_nametextRequired
The worksheet (tab), by name, such as Sheet1.
RowrownumberRequired
The cell's row.From 1 to 65536.
ColumncolumntextRequired
The cell's column, as a number or a letter (2 or B).
ContentcontenttextRequired
What to write, such as 42, Paid or =SUM(B2:B9).

Outputs

The cell written.

cellobject
The cell.
Example output
{
  "cell": {
    "cell_value": "asd",
    "column_index": 4,
    "formula": "asd",
    "row_index": 4
  }
}

Share a workbook

Give someone access to a workbook, change it, or remove it.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Emailuser_emailtextRequired
The email address of the person to share with.
Accessaccess_leveltextRequired
What they can do. Remove access takes it away.One of: share (Can share (view, comment, edit and share)), edit (Can edit), view_and_comment (Can view and comment), view (Can view), remove_share (Remove access). Default: view.

Outputs

The access given.

access_leveltext
share, edit, view_and_comment, view or remove_share.
resource_idtext
The workbook's id.
sharedtrue/false
False when the access was removed.
user_emailtext
Who it was shared with.
Example output
{
  "access_level": "view",
  "resource_id": "aaaaabbbbbccccdddddeeeee",
  "shared": true,
  "user_email": "xyz@example.com"
}

Update table records

Change columns on the table rows that match a condition.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Tabletable_nametextRequired
The table, by name, such as Table1.
New valuesdataobjectRequired
The columns to change and their new values, keyed by the exact header text.
Where columncriteria_columntext
Optional. The header of the column to test.
Iscriteria_operatortext
Optional. How to compare. Defaults to equals.One of: EQUALS, NOT_EQUALS (does not equal), CONTAINS, NOT_CONTAINS (does not contain), GREATER_THAN (is greater than), LESS_THAN (is less than), IS_EMPTY (is empty), IS_NOT_EMPTY (is not empty).
Valuecriteria_valuetext
Optional. What to compare with (not needed for empty tests).
Compare ascriteria_typetext
Optional. Text, a date or a number. Dates and numbers support only equals, does not equal, greater than and less than.One of: String, Date, Number.
Conditions (advanced)criteria_jsonlist
Optional. Up to five conditions, replacing the one above, e.g. [{"key": "Month", "operator": "EQUALS", "matcher": "March"}, {"key": "Amount", "operator": "GREATER_THAN", "matcher": 50, "type": "Number"}]. Operators: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, GREATER_THAN, LESS_THAN, IS_EMPTY, IS_NOT_EMPTY, IN, NOT_IN.
Combine conditions ascriteria_patterntext
Required with more than one condition: how they combine, by position, such as 1 AND 2 or (1 OR 2) AND 3.
First match onlyfirst_match_onlytrue/false
Optional. Change only the first row that matches.Default: false.
Match caseis_case_sensitivetrue/false
Optional. Whether the condition matches upper and lower case exactly.Default: true.
Update every rowupdate_all_rowstrue/false
Turn on to update every row when no condition is given. Left off, a step without a condition is refused, so it cannot overwrite a whole sheet by accident.Default: false.

Outputs

How many rows changed.

no_of_affected_rowsnumber
How many rows were updated.
Example output
{
  "no_of_affected_rows": 2
}

Update worksheet records

Change columns on the worksheet rows that match a condition.

Inputs

Workbookresource_idtextRequired
The workbook. Pick one, or paste its id or its address (https://sheet.zoho.com/sheet/open/<id>).
Worksheetworksheet_nametextRequired
The worksheet (tab), by name, such as Sheet1.
New valuesdataobjectRequired
The columns to change and their new values, keyed by the exact header text.
Conditioncriteriatext
Optional. Which rows, such as "Month"="March" or "Amount">50. Compare with =, !=, >, < or contains, and join up to five with and / or, e.g. ("Month"="March" or "Month"="April") and "Amount">30.
First match onlyfirst_match_onlytrue/false
Optional. Change only the first row that matches.Default: false.
Match caseis_case_sensitivetrue/false
Optional. Whether the condition matches upper and lower case exactly.Default: true.
Update every rowupdate_all_rowstrue/false
Turn on to update every row when no condition is given. Left off, a step without a condition is refused, so it cannot overwrite a whole sheet by accident.Default: false.
Header rowheader_rownumber
Optional. The row holding the column names. Defaults to 1; set it when the data starts lower down.From 1 to 65536.

Outputs

How many rows changed.

no_of_affected_rowsnumber
How many rows were updated.
Example output
{
  "no_of_affected_rows": 2
}

On this page