{"id":13475736,"url":"https://github.com/miso-develop/ifttt-cli","last_synced_at":"2025-04-11T09:17:00.511Z","repository":{"id":57271518,"uuid":"181932283","full_name":"miso-develop/ifttt-cli","owner":"miso-develop","description":"Manage IFTTT from the command line.","archived":false,"fork":false,"pushed_at":"2019-04-18T16:45:30.000Z","size":256,"stargazers_count":15,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-23T22:47:35.710Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miso-develop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-17T16:47:04.000Z","updated_at":"2022-11-07T15:18:09.000Z","dependencies_parsed_at":"2022-09-08T23:20:56.084Z","dependency_job_id":null,"html_url":"https://github.com/miso-develop/ifttt-cli","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miso-develop%2Fifttt-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miso-develop%2Fifttt-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miso-develop%2Fifttt-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miso-develop%2Fifttt-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miso-develop","download_url":"https://codeload.github.com/miso-develop/ifttt-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247635810,"owners_count":20970804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T16:01:23.093Z","updated_at":"2025-04-11T09:17:00.495Z","avatar_url":"https://github.com/miso-develop.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# IFTTT CLI\nManage IFTTT from the command line.\n\n# Featrues\nIFTTT is a very useful service that links various services, but no API is provided. \nCreating a large number of applets can be difficult to manage and maintain. \nWith this tool you can easily manage and maintain IFTTT from the command line. \n\nThe specification starts Chrome in headless mode with Puppeteer and performs web operation in the background. \n\n# DEMO\n\n![demo](https://raw.githubusercontent.com/miso-develop/ifttt-cli/master/images/demo.gif)\n\n# Getting Started\n\n## Prerequisites\nAn environment of Node.js v8.0.0 or higher is required. \n\n## Installation\n\n```bash\n$ npm install -g ifttt-cli\n```\n\n## Login\nFirst, log in to IFTTT. \nExecute the following command to launch Chrome and display the IFTTT login screen. Please login. \n\n```bash\n$ ifttt login\n```\n\nYou can also login in headless mode by specifying the `-e, --email` option, followed by the e-mail address and password. \n\n```bash\n$ ifttt login -e email@example.com password\n```\n\n# Usage\n\n```bash\n$ ifttt --help\nifttt [options] \u003ccommand\u003e\n\nControl IFTTT from the command line.\n\nCommands:\n  ifttt [options] \u003ccommand\u003e                 Control IFTTT from the command line.\n                                                                       [default]\n  ifttt login [-e, --email \u003cmail address\u003e   Log in to IFTTT.\n  \u003cpassword\u003e]                               If the option is omitted, please log\n                                            in from the launched browser.\n  ifttt logout                              Log out of IFTTT.\n  ifttt connect \u003cservice\u003e                   Connect to the specified service.\n  ifttt list [-l, --long]                   Display a list of applets.\n                                            Use the `-l, --long` option to\n                                            display the details.\n  ifttt get [id..]                          Get the applet recipe.\n                                            The recipe of all applets is\n                                            acquired by specifying `-a, --all`\n                                            option.\n  ifttt create \u003cfile\u003e                       Create the applet.\n                                            Specify and execute a JSON file\n                                            containing a recipe.\n  ifttt delete \u003cid..\u003e                       Remove the applet.\n                                            Specify the ID of the applet you\n                                            want to delete and execute it.\n  ifttt update \u003cfile\u003e                       Update the applet.\n                                            Specify and execute a JSON file\n                                            containing a recipe.\n\nPositionals:\n  command\n     [required] [choices: \"login\", \"logout\", \"connect\", \"list\", \"get\", \"create\",\n                                                             \"delete\", \"update\"]\n\nOptions:\n  -b, --browser, --no-headless  Control while displaying chrome.       [boolean]\n  -h, --help                    Show help                              [boolean]\n  -v, --version                 Show version number                    [boolean]\n```\n\n## List\nDisplay a list of applets. \nThe applet ID and applet name are displayed. \n\n```bash\n$ ifttt list\n┌───────────┬─────────┐\n│ ID        │ Name    │\n├───────────┼─────────┤\n│ 12345678d │ applet1 │\n├───────────┼─────────┤\n│ 23456789d │ applet2 │\n├───────────┼─────────┤\n│ 34567890d │ applet3 │\n└───────────┴─────────┘\n\n```\n\nSpecifying the `-l, --long` option also displays trigger and action information. \n\n```bash\n$ ifttt list -l\n┌───────────┬─────────┬──────────────────┬──────────┬────────┐\n│ ID        │ Name    │ Trigger          │ Action   │ Status │\n├───────────┼─────────┼──────────────────┼──────────┼────────┤\n│ 12345678d │ applet1 │ Google Assistant │ Webhooks │ true   │\n├───────────┼─────────┼──────────────────┼──────────┼────────┤\n│ 23456789d │ applet2 │ Amazon Alexa     │ Webhooks │ false  │\n├───────────┼─────────┼──────────────────┼──────────┼────────┤\n│ 34567890d │ applet3 │ Webhooks         │ Clova    │ true   │\n└───────────┴─────────┴──────────────────┴──────────┴────────┘\n\n```\n\n## Get\nGet recipe information of specified applet ID. \nAs JSON data is standard output, please reduce it when saving it. \n\n```bash\n$ ifttt get \u003capplet-id\u003e \u003e recipe.json\n```\n\nSpecify `-a, --all` option instead of applet ID to get recipe information of all applets. \n\n```bash\n$ ifttt get -a \u003e all-recipe.json\n```\n\n## Create\nCreate an applet of recipe contents by specifying a recipe JSON file. \n\n```bash\n$ ifttt create recipe.json\n```\n\n## Delete\nRemoves the applet with the specified applet ID. \n\n```bash\n$ ifttt delete \u003capplet-id\u003e\n```\n\n## Update\nUpdate the contents of the recipe by specifying the recipe JSON file. \n\n```bash\n$ ifttt update recipe.json\n```\n\n## Connect\nConnect to the specified service. \nIf the service needs to log in, Chrome will be launched, so please use your browser to log in. \n\nAn example of standard output JSON is [this](#recipe-json-sample).\n\n```bash\n$ ifttt connect \u003cservice-id\u003e\n```\n\n## Logout\nLog out of IFTTT. \n\n```bash\n$ ifttt logout\n```\n\n## Recipe JSON sample\nThe following JSON data is a recipe when `Google Assistant` `Say a simple phrase` is specified as a trigger and `Webhooks` `Make a web request` is specified as an action. \n\n```json\n[\n  {\n    \"id\": \"12345678d\",\n    \"name\": \"applet name\",\n    \"notification\": false,\n    \"status\": true,\n    \"trigger\": {\n      \"service\": \"google_assistant\",\n      \"type\": \"simple_voice_trigger\",\n      \"fields\": [\n        {\n          \"name\": \"voice_input_1\",\n          \"value\": \"sample\",\n          \"type\": \"text_field\"\n        },\n        {\n          \"name\": \"voice_input_2\",\n          \"value\": \"\",\n          \"type\": \"text_field\"\n        },\n        {\n          \"name\": \"voice_input_3\",\n          \"value\": \"\",\n          \"type\": \"text_field\"\n        },\n        {\n          \"name\": \"tts_response\",\n          \"value\": \"sample\",\n          \"type\": \"text_field\"\n        },\n        {\n          \"name\": \"supported_languages_for_user\",\n          \"value\": \"en\",\n          \"type\": \"collection_select\"\n        }\n      ]\n    },\n    \"action\": {\n      \"service\": \"maker_webhooks\",\n      \"type\": \"make_web_request\",\n      \"fields\": [\n        {\n          \"name\": \"url\",\n          \"value\": \"https://example.com/\",\n          \"type\": \"text_field\"\n        },\n        {\n          \"name\": \"method\",\n          \"value\": \"GET\",\n          \"type\": \"collection_select\"\n        },\n        {\n          \"name\": \"content_type\",\n          \"value\": \"application/json\",\n          \"type\": \"collection_select\"\n        },\n        {\n          \"name\": \"body\",\n          \"value\": \"sample\",\n          \"type\": \"text_field\"\n        }\n      ]\n    }\n  }\n]\n```\n\n# Built With\n* [Puppeteer](https://github.com/GoogleChrome/puppeteer)\n* [Yargs](https://github.com/yargs/yargs)\n* [rimraf](https://github.com/isaacs/rimraf)\n* [Table](https://github.com/gajus/table)\n* [validator.js](https://github.com/chriso/validator.js)\n\n# Contribution\n1. Fork it\n1. Create your feature branch\n1. Commit your changes\n1. Push to the branch\n1. Create new Pull Request\n\n# License\n[MIT](./LICENSE)\n\n# Acknowledgments\nThis README is translated into English by Google Translate based on README_ja.md.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiso-develop%2Fifttt-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiso-develop%2Fifttt-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiso-develop%2Fifttt-cli/lists"}