← Zoho Creator + Todoist integrations

Create Filter with Todoist API on New or Updated Record from Zoho Creator API

Pipedream makes it easy to connect APIs for Todoist, Zoho Creator and 1000+ other apps remarkably fast.

Trigger workflow on
New or Updated Record from the Zoho Creator API
Next, do this
Create Filter with the Todoist API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜

Trusted by 500,000+ developers from startups to Fortune 500 companies

Adyen logo
Brex logo
Carta logo
Checkr logo
Chameleon logo
DevRev logo
LinkedIn logo
Netflix logo
New Relic logo
OnDeck logo
Replicated logo
Scale AI logo
Teamwork logo
Warner Bros. logo
Xendit logo

Developers Pipedream

Getting Started

This integration creates a workflow with a Zoho Creator trigger and Todoist action. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Select this integration
  2. Configure the New or Updated Record trigger
    1. Connect your Zoho Creator account
    2. Configure Polling interval
    3. Select a Application
    4. Select a Report
  3. Configure the Create Filter action
    1. Connect your Todoist account
    2. Configure Name
    3. Configure Query
    4. Optional- Select a Color
    5. Optional- Configure Order
    6. Optional- Configure Favorite
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, source-available components from Pipedream's GitHub repo. These components are developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Trigger

Description:Emit new or updated records in a report. The `Modified Time` field must be added as **Grouping** field in the Zoho Creator *record properties* for the **Report** chosen in the dropdown below. See [the grouping help article](https://www.zoho.com/creator/newhelp/reports/display-records-as-groups-list-report.html) and [the docs](https://www.zoho.com/creator/help/api/v2/get-records.html) for more information.
Version:0.0.2
Key:zoho_creator-new-or-updated-record

Zoho Creator Overview

The Zoho Creator API lets you build powerful applications and custom components
quickly, easily, and securely. It's a platform designed to let you quickly
develop custom components and applications, without having to worry about
server-side code or hosting. You can use it to create your own integrated
applications and custom components, and to securely incorporate them into your
existing business applications.

Using the Zoho Creator API, you can create:

  • Custom business applications, such as helpdesks, invoicing, or asset
    management
  • Custom single-page web apps
  • AutonDBS integration
  • Business rules and trigger-based automation
  • Data-driven user interfaces
  • Reporting and data visualizations
  • Custom integrations and plugins
  • Custom API endpoints
  • Third-party API integration
  • Desktop and mobile app support

Trigger Code

import common from "../common.mjs";
import utils from "../../common/utils.mjs";
import constants from "../../constants.mjs";

const { zohoCreator } = common.props;
const { toSingleLineString } = utils;

export default {
  ...common,
  key: "zoho_creator-new-or-updated-record",
  description: toSingleLineString(`
    Emit new or updated records in a report. The \`Modified Time\` field must be added as
    **Grouping** field in the Zoho Creator *record properties* for the **Report** chosen in
    the dropdown below. See [the grouping help
    article](https://www.zoho.com/creator/newhelp/reports/display-records-as-groups-list-report.html)
    and [the docs](https://www.zoho.com/creator/help/api/v2/get-records.html) for more
    information.
  `),
  type: "source",
  name: "New or Updated Record",
  version: "0.0.2",
  dedupe: "unique",
  props: {
    ...common.props,
    reportLinkName: {
      propDefinition: [
        zohoCreator,
        "reportLinkName",
        ({ appLinkName }) => ({
          appLinkName,
        }),
      ],
      description: toSingleLineString(`
        The link name of the target report. The \`Modified Time\` field must be added as a
        **Grouping** field in the Zoho Creator *record properties* for the chosen report. See [the
        grouping help
        article](https://www.zoho.com/creator/newhelp/reports/display-records-as-groups-list-report.html).
      `),
    },
  },
  methods: {
    ...common.methods,
    getMetadata(record) {
      const id = JSON.stringify(record);
      return {
        id,
        summary: id,
        ts: Date.parse(record[constants.MODIFIED_TIME_FIELD]),
      };
    },
    validateRecord(record) {
      if (!record[constants.MODIFIED_TIME_FIELD]) {
        throw new Error("Record is missing the \"Modified Time\" field. Add the \"Modified Time\" Grouping field in the Zoho Creator record properties for the Report.");
      }
    },
    processEvent(record) {
      this.validateRecord(record);
      this.$emit(record, this.getMetadata(record));
      this.setLastTimestamp(record[constants.MODIFIED_TIME_FIELD]);
    },
  },
  async run() {
    const {
      appLinkName,
      reportLinkName,
    } = this;

    // If last timestamp is not set, use timestamp of 1 day ago
    // to avoid fetching all records on first run of the source
    const lastModifiedTime =
      this.getLastTimestamp()
      ?? await this.zohoCreator.daysAgoString({
        appLinkName,
        days: 1,
      });

    const recordsStream =
      await this.zohoCreator.getRecordsStream({
        appLinkName,
        reportLinkName,
        modifiedTime: lastModifiedTime,
      });

    for await (const record of recordsStream) {
      this.processEvent(record);
    }
  },
};

Trigger Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
Zoho CreatorzohoCreatorappThis component uses the Zoho Creator app.
N/Adb$.service.dbThis component uses $.service.db to maintain state between executions.
Polling intervaltimer$.interface.timer

How often to poll the Zoho Creator API for resources

ApplicationappLinkNamestringSelect a value from the drop down menu.
ReportreportLinkNamestringSelect a value from the drop down menu.

Trigger Authentication

Zoho Creator uses OAuth authentication. When you connect your Zoho Creator account, Pipedream will open a popup window where you can sign into Zoho Creator and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Zoho Creator API.

Pipedream requests the following authorization scopes when you connect your account:

ZohoCreator.form.CREATEZohoCreator.report.CREATEZohoCreator.report.READZohoCreator.report.UPDATEZohoCreator.report.DELETEZohoCreator.meta.form.READZohoCreator.meta.application.READZohoCreator.dashboard.READZohoCreator.bulk.CREATEZohoCreator.bulk.READ

About Zoho Creator

Low-code platform

Action

Description:Creates a filter. [See the docs here](https://developer.todoist.com/sync/v9/#add-a-filter)
Version:0.0.3
Key:todoist-create-filter

Todoist Overview

With the Todoist API, you can build a variety of applications and tools to help
you manage your to-do lists and tasks. Here are just a few examples of what you
can build:

  • A to-do list application that allows you to manage your tasks and to-dos in
    one place.
  • A task management tool that helps you keep track of your tasks and to-dos.
  • A tool that helps you prioritize your tasks and to-dos.
  • A tool that helps you track your progress on your tasks and to-dos.

Action Code

import todoist from "../../todoist.app.mjs";

export default {
  key: "todoist-create-filter",
  name: "Create Filter",
  description: "Creates a filter. [See the docs here](https://developer.todoist.com/sync/v9/#add-a-filter)",
  version: "0.0.3",
  type: "action",
  props: {
    todoist,
    name: {
      propDefinition: [
        todoist,
        "name",
      ],
    },
    query: {
      propDefinition: [
        todoist,
        "query",
      ],
    },
    color: {
      propDefinition: [
        todoist,
        "color",
      ],
    },
    order: {
      propDefinition: [
        todoist,
        "order",
      ],
    },
    favorite: {
      propDefinition: [
        todoist,
        "favorite",
      ],
    },
  },
  async run ({ $ }) {
    const {
      name,
      query,
      color,
      order,
      favorite,
    } = this;
    const data = {
      name,
      query,
      color,
      item_order: order,
      is_favorite: favorite
        ? 1
        : 0,
    };
    const resp = await this.todoist.createFilter({
      $,
      data,
    });
    $.export("$summary", "Successfully created filter");
    return resp;
  },
};

Action Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI.

LabelPropTypeDescription
TodoisttodoistappThis component uses the Todoist app.
Namenamestring

Enter the new name

Queryquerystring

The query to search for. Examples of searches can be found in the Todoist help page.

ColorcolorintegerSelect a value from the drop down menu:{ "label": "Berry Red", "value": 30 }{ "label": "Red", "value": 31 }{ "label": "Orange", "value": 32 }{ "label": "Yellow", "value": 33 }{ "label": "Olive Green", "value": 34 }{ "label": "Lime Green", "value": 35 }{ "label": "Green", "value": 36 }{ "label": "Mint Green", "value": 37 }{ "label": "Teal", "value": 38 }{ "label": "Sky Blue", "value": 39 }{ "label": "Light Blue", "value": 40 }{ "label": "Blue", "value": 41 }{ "label": "Grape", "value": 42 }{ "label": "Violet", "value": 43 }{ "label": "Lavender", "value": 44 }{ "label": "Magenta", "value": 45 }{ "label": "Salmon", "value": 46 }{ "label": "Charcoal", "value": 47 }{ "label": "Grey", "value": 48 }{ "label": "Taupe", "value": 49 }
Orderorderinteger

Order in a list

Favoritefavoriteboolean

Whether this is a favorite

Action Authentication

Todoist uses OAuth authentication. When you connect your Todoist account, Pipedream will open a popup window where you can sign into Todoist and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Todoist API.

Pipedream requests the following authorization scopes when you connect your account:

task:adddata:read_writedata:deleteproject:delete

About Todoist

The to do list to organize work & life

More Ways to Connect Todoist + Zoho Creator

Create Filter with Todoist API on New Record from Zoho Creator API
Zoho Creator + Todoist
 
Try it
Create Label with Todoist API on New or Updated Record from Zoho Creator API
Zoho Creator + Todoist
 
Try it
Create Label with Todoist API on New Record from Zoho Creator API
Zoho Creator + Todoist
 
Try it
Create Project Comment with Todoist API on New or Updated Record from Zoho Creator API
Zoho Creator + Todoist
 
Try it
Create Project Comment with Todoist API on New Record from Zoho Creator API
Zoho Creator + Todoist
 
Try it
New or Updated Record from the Zoho Creator API

Emit new or updated records in a report. The Modified Time field must be added as Grouping field in the Zoho Creator record properties for the Report chosen in the dropdown below. See the grouping help article and the docs for more information.

 
Try it
New Record from the Zoho Creator API

Emit new records in a report. The Added Time field must be added as a Grouping field in the Zoho Creator record properties for the Report chosen in the dropdown below. See the grouping help article and the docs for more information.

 
Try it
New or Modified Task from the Todoist API

Emit new event for each new or modified task. See the docs here

 
Try it
New Completed Task from the Todoist API

Emit new event for each completed task. See the docs here

 
Try it
New Incomplete Task from the Todoist API

Emit new event for each new incomplete task. See the docs here

 
Try it
Create Filter with the Todoist API

Creates a filter. See the docs here

 
Try it
Create Label with the Todoist API

Creates a label. See the docs here

 
Try it
Create Project with the Todoist API

Creates a project. See the docs here

 
Try it
Create Project Comment with the Todoist API

Adds a comment to a project. See the docs here

 
Try it
Create Section with the Todoist API

Creates a section. See the docs here

 
Try it