{ "kind": "open-flow-workflow", "version": 1, "name": "Generate a Current TOTP Code", "content": { "modelVersion": 14, "document": { "bindings": {}, "graph": { "nodes": { "n_ac2c0ec280e86c41": { "name": "Generate a code now", "kind": "start", "inputDefs": [] }, "n_84ee9ba4a5ef7836": { "inputs": {}, "name": "Generate the current TOTP code", "kind": "task", "task": { "inputs": [], "outputs": [ { "description": "The current six-digit TOTP code.", "jsonSchema": { "type": "string", "pattern": "^\\d{6}$", "description": "The current six-digit TOTP code." }, "nullable": false, "handle": "code" }, { "description": "The ISO 8601 timestamp when this code expires.", "jsonSchema": { "type": "string", "format": "date-time", "description": "The ISO 8601 timestamp when this code expires." }, "nullable": false, "handle": "expiresAt" }, { "description": "The number of whole or partial seconds until this code expires.", "jsonSchema": { "type": "integer", "minimum": 1, "maximum": 30, "description": "The number of whole or partial seconds until this code expires." }, "nullable": false, "handle": "remainingSeconds" }, { "description": "The website associated with the configured account.", "jsonSchema": { "type": "string", "format": "uri", "description": "The website associated with the configured account." }, "nullable": false, "handle": "website" }, { "description": "The username associated with the configured account.", "jsonSchema": { "type": "string", "description": "The username associated with the configured account." }, "nullable": false, "handle": "username" } ], "name": "Generate the current TOTP code", "executor": { "kind": "connector", "action": "totp.generate_code" } } }, "n_361a606e83bc1c49": { "name": "Current code and validity window", "kind": "outputs", "outputDefs": [ { "jsonSchema": { "type": "string", "pattern": "^\\d{6}$", "description": "The current six-digit TOTP code." }, "nullable": false, "handle": "code" }, { "jsonSchema": { "type": "string", "format": "date-time", "description": "The ISO 8601 timestamp when this code expires." }, "nullable": false, "handle": "expiresAt" }, { "jsonSchema": { "type": "integer", "minimum": 1, "maximum": 30, "description": "The number of whole or partial seconds until this code expires." }, "nullable": false, "handle": "remainingSeconds" }, { "jsonSchema": { "type": "string", "format": "uri", "description": "The website associated with the configured account." }, "nullable": false, "handle": "website" }, { "jsonSchema": { "type": "string", "description": "The username associated with the configured account." }, "nullable": false, "handle": "username" } ], "outputMappings": { "code": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_84ee9ba4a5ef7836", "output": "code" } ] }, "expiresAt": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_84ee9ba4a5ef7836", "output": "expiresAt" } ] }, "remainingSeconds": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_84ee9ba4a5ef7836", "output": "remainingSeconds" } ] }, "website": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_84ee9ba4a5ef7836", "output": "website" } ] }, "username": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_84ee9ba4a5ef7836", "output": "username" } ] } } } }, "edges": [ { "source": "n_ac2c0ec280e86c41", "target": "n_84ee9ba4a5ef7836" }, { "source": "n_84ee9ba4a5ef7836", "target": "n_361a606e83bc1c49" } ] } }, "modules": {} }, "presentation": { "designer": { "version": 1, "flow": { "direction": "vertical" } } } }