-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathOOB Content - Twitter Zero Day Monitoring.json
More file actions
1 lines (1 loc) · 36.5 KB
/
OOB Content - Twitter Zero Day Monitoring.json
File metadata and controls
1 lines (1 loc) · 36.5 KB
1
{"flows":[{"name":"OOB Content - Twitter Zero Day Monitoring","nodes":[{"id":"start-node-733b034e-8e02-4c8d-94f2-656a9b1c3d35","name":"_Start_Node","kind":"start","isLeaf":false,"warnings":[],"description":"","isExplainable":true,"x":238,"y":0,"vertices":[],"title":"Trigger","isEditable":false,"isStepImplementable":true,"executionDependsOn":[],"outputtedNode":false,"categoryKind":"Unknown","iconTitle":"Unknown","usedByEventTypes":[]},{"id":"041f8561-8eab-481a-bb35-75248f5c0ad7","name":"Twitter","kind":"step","inputs":["start-node-733b034e-8e02-4c8d-94f2-656a9b1c3d35"],"isLeaf":true,"warnings":[],"description":"Search twitter for potential zerodays using the following criteria: Contains CVE-YYYY-, has configurable retweets and configurable likes.","isExplainable":true,"x":168,"y":112,"vertices":[],"title":"Get Latest Tweets","moduleId":"Get_Twitter_Zero_Days","moduleVersion":{"majorVersion":1,"minorVersion":2,"patchVersion":0,"contentResourceVersionBranch":"Local"},"moduleParameters":{"Get_Tweet_Username_integration**parameters":"{\"web_api_body\":\"\",\"web_api_url\":\"https://api.twitter.com/2/users?\",\"web_api_password\":\"\",\"web_api_explode_results\":\"True\",\"__lh_multithread_count\":\"\",\"web_api_client_certificate\":\"\",\"web_api_params\":\"{\\\"ids\\\":\\\"{{author_id}}\\\",\\n\\\"user.fields\\\":\\\"id\\\"}\",\"web_api_time_between_consecutive_requests_milliseconds\":\"\",\"web_api_request_type\":\"get\",\"web_api_username\":\"\",\"web_api_headers\":\"{\\n\\\"Authorization\\\":\\\"Bearer AAAAAAAAAAAAAAAAAAAAAGh7XwEAAAAAGURgRv1O8rZg1%2BIy1W3adOmyzq4%3DvuFpR9Cos1ooQ09qZsJMp0kPC2dfxUUbS4SSNaePMjigFpH3ge\\\"\\n}\",\"__lh_rows_to_process\":\"\",\"web_api_response_format\":\"json\",\"__lh_action_timeout_sec\":\"\",\"web_api_client_certificate_password\":\"\"}","parent0":"_Start_Node","num_likes":"0","bearer_token":"AAAAAAAAAAAAAAAAAAAAAL5fYAEAAAAA0KSsVadRO9rQvBz0hqZHPR4HAz0%3DAYGGosm89IOIlJpjEQU9QLMrw2r1x7eVvC1OjHkrvyDqSN7rfw","num_retweets":"25","Get_Original_Tweet_integration**connection":"47","Get_Tweet_Username_integration**connection":"47","Execute_First_Twitter_Search_integration**parameters":"{\"web_api_body\":\"\",\"web_api_url\":\"https://api.twitter.com/2/tweets/search/recent?\",\"web_api_password\":\"\",\"web_api_explode_results\":\"True\",\"__lh_multithread_count\":\"\",\"web_api_client_certificate\":\"\",\"web_api_params\":\"{\\n\\\"query\\\":\\\"CVE-2022- is:retweet\\\",\\n\\\"start_time\\\":\\\"2022-01-10T12:00:00.000Z\\\",\\n\\\"max_results\\\":\\\"100\\\",\\n\\\"expansions\\\":\\\"referenced_tweets.id.author_id\\\",\\n\\\"tweet.fields\\\":\\\"id,text,public_metrics,author_id\\\",\\n\\\"user.fields\\\":\\\"name,username\\\"\\n}\",\"web_api_time_between_consecutive_requests_milliseconds\":\"\",\"web_api_request_type\":\"get\",\"web_api_username\":\"\",\"web_api_headers\":\"{\\n\\\"Authorization\\\":\\\"Bearer AAAAAAAAAAAAAAAAAAAAAGh7XwEAAAAAGURgRv1O8rZg1%2BIy1W3adOmyzq4%3DvuFpR9Cos1ooQ09qZsJMp0kPC2dfxUUbS4SSNaePMjigFpH3ge\\\"\\n}\",\"__lh_rows_to_process\":\"\",\"web_api_response_format\":\"json\",\"__lh_action_timeout_sec\":\"\",\"web_api_client_certificate_password\":\"\"}","Execute_First_Twitter_Search_integration**connection":"47","Get_Original_Tweet_integration**parameters":"{\"web_api_body\":\"\",\"web_api_url\":\"https://api.twitter.com/2/tweets?\",\"web_api_password\":\"\",\"web_api_explode_results\":\"True\",\"__lh_multithread_count\":\"\",\"web_api_client_certificate\":\"\",\"web_api_params\":\"{\\n\\\"ids\\\":\\\"{{referenced_tweet_id}}\\\",\\n\\\"expansions\\\":\\\"author_id\\\",\\n\\\"tweet.fields\\\":\\\"id,created_at,text,author_id,referenced_tweets,public_metrics\\\"\\n}\",\"web_api_time_between_consecutive_requests_milliseconds\":\"\",\"web_api_request_type\":\"get\",\"web_api_username\":\"\",\"web_api_headers\":\"{\\n\\\"Authorization\\\":\\\"Bearer AAAAAAAAAAAAAAAAAAAAAGh7XwEAAAAAGURgRv1O8rZg1%2BIy1W3adOmyzq4%3DvuFpR9Cos1ooQ09qZsJMp0kPC2dfxUUbS4SSNaePMjigFpH3ge\\\"\\n}\",\"__lh_rows_to_process\":\"\",\"web_api_response_format\":\"json\",\"__lh_action_timeout_sec\":\"\",\"web_api_client_certificate_password\":\"\"}"},"stepParams":{"kind":"module","title":"Get_Twitter_Zero_Days"},"isEditable":true,"isStepImplementable":false,"executionDependsOn":[],"contentMetadata":{"id":"Get_Twitter_Zero_Days","name":"Get_Twitter_Zero_Days","latestAvailableVersion":{"majorVersion":1,"minorVersion":2,"patchVersion":0,"contentResourceVersionBranch":"Local"}},"outputtedNode":false,"contentItemIdentifier":{"kind":"ModuleContentKind","id":"Get_Twitter_Zero_Days"},"categoryKind":"Module","iconTitle":"Module: Get_Twitter_Zero_Days","usedByEventTypes":[]}],"oldId":"flow-1077","listNames":[],"dependentCommands":[],"resourceFormatVersion":2,"fileDataSeq":[]}],"baselines":[],"eventTypes":[],"connections":[],"modules":[{"id":"Get_Twitter_Zero_Days","name":"Get_Twitter_Zero_Days","description":"Search twitter for potential zerodays using the following criteria: Contains CVE-YYYY-, has configurable retweets and configurable likes.","templateNodes":[{"name":"Get_Variables","templateLQL":"select \n\"%%%bearer_token%%%\" as bearer_token,\n%%%num_retweets%%% as num_retweets,\n%%%num_likes%%% as num_likes,\ndate_format(current_timestamp(),'y') as current_year,\ndate_format(from_utc_timestamp(current_timestamp(), 'America/Chicago'),'HH') as current_hour\n from %%%parent0%%%","isOutput":false},{"name":"Execute_First_Twitter_Search","templateLQL":"runAction(Get_Variables, %%%Execute_First_Twitter_Search_integration%%%)","isOutput":false},{"name":"Get_Tweet_Metrics","templateLQL":"`select get_json_object(referenced_tweets, \"$[0].id\") as referenced_tweet_id,author_id,id, get_json_object(public_metrics, \"$.retweet_count\") as rt_cnt,\nget_json_object(public_metrics, \"$.like_count\") as like_cnt,public_metrics,text, num_likes, num_retweets from operator_runScript`","isOutput":false},{"name":"Extract_Top_Tweet_IDs","templateLQL":"`select referenced_tweet_id from Get_Tweet_Metrics where (rt_cnt >= num_retweets) AND (like_cnt >= num_likes) group by referenced_tweet_id`","isOutput":false},{"name":"Get_Original_Tweet","templateLQL":"runAction(Extract_Top_Tweet_IDs, %%%Get_Original_Tweet_integration%%%)","isOutput":false},{"name":"operator_runScript_1","templateLQL":"runScript(Get_Original_Tweet, \"fix_json.py\", \"action_fix_json($.result.response.data)\", \"true\")","isOutput":false},{"name":"Get_Tweet_Username","templateLQL":"runAction(Get_Rid_of_Duplicate_Columns, %%%Get_Tweet_Username_integration%%%)","isOutput":false},{"name":"operator_runScript","templateLQL":"runScript(Execute_First_Twitter_Search, \"fix_json.py\", \"action_fix_json($.result.response.data)\", \"true\")","isOutput":false},{"name":"Get_Rid_of_Duplicate_Columns","templateLQL":" [ SELECT id AS tweet_id, get_json_object(public_metrics, \"$.retweet_count\") AS Retweet_Count, get_json_object(public_metrics, \"$.reply_count\") AS Reply_Count, get_json_object(public_metrics, \"$.like_count\") AS Like_Count, get_json_object(public_metrics, \"$.quote_count\") AS Quote_Count, * FROM operator_runScript_1 ] as t1 | [ dropColumns(t1, \"id\", \"other_field\", \"stdout\", \"stderr\", \"exit_code\") ] as t2 ","isOutput":false},{"name":"operator_runScript_2","templateLQL":"runScript(Get_Tweet_Username, \"fix_json.py\", \"action_fix_json($.result.response.data)\", \"true\")","isOutput":false},{"name":"Format_Output","templateLQL":"`select \nregexp_replace(text, '\"','') as Tweet,\nRetweet_Count,\nLike_Count,\nReply_Count,\nQuote_Count,\nregexp_replace(name, '\"','') as Real_Name, \nregexp_replace(username, '\"','') as UserName\n\nfrom operator_runScript_2`","isOutput":true}],"steps":[{"name":"Module Parameters","description":"","inputs":[{"id":"parent0","description":"Parent 0","label":"Parent 0","dataType":"node","inputType":"columnSelect","dependsOn":"","columnTemplating":false},{"id":"bearer_token","description":"","label":"Twitter Bearer Token","dataType":"string","inputType":"text","dependsOn":"","columnTemplating":false},{"id":"num_likes","description":"","label":"Minimum Number of Likes","dataType":"number","inputType":"number","dependsOn":"","columnTemplating":false},{"id":"num_retweets","description":"","label":"Minimum Number of Retweets","dataType":"number","inputType":"number","dependsOn":"","columnTemplating":false}],"isVariadic":false},{"name":"Web API","description":"Web API integration allows you to execute any Web API and retrieve results.","inputs":[],"integration":{"parameterId":"Execute_First_Twitter_Search_integration","integrationId":"logichub.web_api","actionId":"execute-web-api","forcedParameterValues":{"web_api_body":"","web_api_url":"https://api.twitter.com/2/tweets/search/recent?","web_api_password":"","web_api_explode_results":"True","__lh_multithread_count":"","web_api_client_certificate":"","web_api_params":"{\n\"query\":\"CVE-2022- is:retweet\",\n\"start_time\":\"2022-01-10T12:00:00.000Z\",\n\"max_results\":\"100\",\n\"expansions\":\"referenced_tweets.id.author_id\",\n\"tweet.fields\":\"id,text,public_metrics,author_id\",\n\"user.fields\":\"name,username\"\n}","web_api_time_between_consecutive_requests_milliseconds":"","web_api_request_type":"get","web_api_username":"","web_api_headers":"{\n\"Authorization\":\"Bearer AAAAAAAAAAAAAAAAAAAAAGh7XwEAAAAAGURgRv1O8rZg1%2BIy1W3adOmyzq4%3DvuFpR9Cos1ooQ09qZsJMp0kPC2dfxUUbS4SSNaePMjigFpH3ge\"\n}","__lh_rows_to_process":"","web_api_response_format":"json","__lh_action_timeout_sec":"","web_api_client_certificate_password":""}},"isVariadic":false},{"name":"Web API","description":"Web API integration allows you to execute any Web API and retrieve results.","inputs":[],"integration":{"parameterId":"Get_Original_Tweet_integration","integrationId":"logichub.web_api","actionId":"execute-web-api","forcedParameterValues":{"web_api_body":"","web_api_url":"https://api.twitter.com/2/tweets?","web_api_password":"","web_api_explode_results":"True","__lh_multithread_count":"","web_api_client_certificate":"","web_api_params":"{\n\"ids\":\"{{referenced_tweet_id}}\",\n\"expansions\":\"author_id\",\n\"tweet.fields\":\"id,created_at,text,author_id,referenced_tweets,public_metrics\"\n}","web_api_time_between_consecutive_requests_milliseconds":"","web_api_request_type":"get","web_api_username":"","web_api_headers":"{\n\"Authorization\":\"Bearer AAAAAAAAAAAAAAAAAAAAAGh7XwEAAAAAGURgRv1O8rZg1%2BIy1W3adOmyzq4%3DvuFpR9Cos1ooQ09qZsJMp0kPC2dfxUUbS4SSNaePMjigFpH3ge\"\n}","__lh_rows_to_process":"","web_api_response_format":"json","__lh_action_timeout_sec":"","web_api_client_certificate_password":""}},"isVariadic":false},{"name":"Web API","description":"Web API integration allows you to execute any Web API and retrieve results.","inputs":[],"integration":{"parameterId":"Get_Tweet_Username_integration","integrationId":"logichub.web_api","actionId":"execute-web-api","forcedParameterValues":{"web_api_body":"","web_api_url":"https://api.twitter.com/2/users?","web_api_password":"","web_api_explode_results":"True","__lh_multithread_count":"","web_api_client_certificate":"","web_api_params":"{\"ids\":\"{{author_id}}\",\n\"user.fields\":\"id\"}","web_api_time_between_consecutive_requests_milliseconds":"","web_api_request_type":"get","web_api_username":"","web_api_headers":"{\n\"Authorization\":\"Bearer AAAAAAAAAAAAAAAAAAAAAGh7XwEAAAAAGURgRv1O8rZg1%2BIy1W3adOmyzq4%3DvuFpR9Cos1ooQ09qZsJMp0kPC2dfxUUbS4SSNaePMjigFpH3ge\"\n}","__lh_rows_to_process":"","web_api_response_format":"json","__lh_action_timeout_sec":"","web_api_client_certificate_password":""}},"isVariadic":false}],"isPublished":true,"author":"Chris Botelho","categories":[],"isEditable":true,"integrations":[{"id":"logichub.web_api","name":"Web API","description":"Web API integration allows you to execute any Web API and retrieve results.","logoUrl":"https://s3.amazonaws.com/lhub-public/integrations/default-integration-logo.svg","documentationSlug":"web-api","categories":["utilities"],"runtimeEnvironment":{"runtimeType":"docker","descriptor":{"image":"logichub/integrations-builtin:m88.21"},"id":"default","version":"v0"},"instantiation":{"steps":[{"name":"web_api Authentication Information","description":"Enter authentication information for the web_api integration","inputs":[{"id":"__lh_label","description":"Label for this integration instance.","label":"Label","dataType":"string","inputType":"text","columnTemplating":false},{"id":"__lh_table_key_value","description":"Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com, where hostname is a variable defined in this input.","label":"Reference Values","dataType":"json","inputType":"table","optional":true,"columnTemplating":false},{"id":"__lh_ssl_verify","description":"Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate)","label":"Verify SSL","dataType":"string","inputType":"select","options":[{"value":"True","label":"Verify SSL Certificate"},{"value":"False","label":"Skip Verifying SSL Certificate"}],"optional":true,"columnTemplating":false},{"id":"client_certificate","description":"Upload a .p12 Client Certificate file (p12 file at action input takes precedence over connection)","label":"Client Certificate","dataType":"string","inputType":"encryptedFile","optional":true,"columnTemplating":false},{"id":"client_certificate_password","description":"Enter password to read the client certificate","label":"Client Certificate Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false}],"isVariadic":false}],"validation":{"cmd":"python3 -m src.web_api.instance_validation"}},"actions":[{"id":"execute-web-api","name":"Execute Web API","description":"Execute given Web API and return the response","instantiation":{"steps":[{"name":"Step Name","description":"Step Description","inputs":[{"id":"web_api_request_type","description":"Request type to get the method name","label":"Request type","dataType":"string","inputType":"select","options":[{"value":"get","label":"GET"},{"value":"post","label":"POST"},{"value":"put","label":"PUT"},{"value":"delete","label":"DELETE"},{"value":"patch","label":"PATCH"}],"columnTemplating":false},{"id":"web_api_url","description":"Url Endpoint","label":"URL","dataType":"string","inputType":"text","columnTemplating":true},{"id":"web_api_headers","description":"Web api request headers","label":"Headers","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_params","description":"Web api request parameters","label":"Params","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_body","description":"Web api request body","label":"Body","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_username","description":"Username for request","label":"Username","dataType":"string","inputType":"text","optional":true,"columnTemplating":false},{"id":"web_api_password","description":"Password for request","label":"Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false},{"id":"web_api_client_certificate","description":"Upload a .p12 Client Certificate file (p12 file at action input takes precedence over connection)","label":"Client Certificate","dataType":"string","inputType":"encryptedFile","optional":true,"columnTemplating":false},{"id":"web_api_client_certificate_password","description":"Enter password to read the client certificate","label":"Client Certificate Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false},{"id":"web_api_response_format","description":"Select how to parse the response based on its expected format. (Default is \"Raw\" and will pass the full body to the response field). `File` will write the response to a file and return the file-id.","label":"Expected Response Format","dataType":"string","inputType":"select","options":[{"value":"raw","label":"Raw"},{"value":"csv","label":"CSV"},{"value":"html_tables","label":"HTML Tables"},{"value":"json","label":"JSON"},{"value":"file","label":"File"}],"optional":true,"columnTemplating":false},{"id":"web_api_explode_results","description":"If server response is parsed as a list of values instead of a single value, return as individual rows for each value (Default is False)","label":"Explode Results","dataType":"string","inputType":"select","options":[{"value":"False","label":"False"},{"value":"True","label":"True"}],"optional":true,"columnTemplating":false},{"id":"web_api_time_between_consecutive_requests_milliseconds","description":"Time to wait between consecutive API requests in milliseconds (Default is 0 millisecond)","label":"Time between consecutive API requests (in millis)","dataType":"string","inputType":"number","optional":true,"columnTemplating":false},{"id":"__lh_action_timeout_sec","description":"Timeout in seconds (Default is 360 seconds)","label":"Action Timeout","dataType":"string","inputType":"text","optional":true,"columnTemplating":false},{"id":"__lh_rows_to_process","description":"Number of rows to read from parent table","label":"Rows to Process","dataType":"number","inputType":"text","optional":true,"columnTemplating":false},{"id":"__lh_multithread_count","description":"Count of threads to use for processing rows of input table (Default is 1 thread)","label":"Count of threads","dataType":"string","inputType":"text","optional":true,"columnTemplating":false}],"isVariadic":false}],"validation":{"cmd":"python3 -m src.web_api.action_execute-web-api_validate"}},"execution":{"cmd":"python3 -m src.web_api.action_execute-web-api_exec"},"isDataSource":"Optional","isMultiThreaded":"Yes","tags":[]}],"version":"3.1.0","compatible_versions":[],"tags":[]},{"id":"logichub.web_api","name":"Web API","description":"Web API integration allows you to execute any Web API and retrieve results.","logoUrl":"https://s3.amazonaws.com/lhub-public/integrations/default-integration-logo.svg","documentationSlug":"web-api","categories":["utilities"],"runtimeEnvironment":{"runtimeType":"docker","descriptor":{"image":"logichub/integrations-builtin:m88.21"},"id":"default","version":"v0"},"instantiation":{"steps":[{"name":"web_api Authentication Information","description":"Enter authentication information for the web_api integration","inputs":[{"id":"__lh_label","description":"Label for this integration instance.","label":"Label","dataType":"string","inputType":"text","columnTemplating":false},{"id":"__lh_table_key_value","description":"Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com, where hostname is a variable defined in this input.","label":"Reference Values","dataType":"json","inputType":"table","optional":true,"columnTemplating":false},{"id":"__lh_ssl_verify","description":"Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate)","label":"Verify SSL","dataType":"string","inputType":"select","options":[{"value":"True","label":"Verify SSL Certificate"},{"value":"False","label":"Skip Verifying SSL Certificate"}],"optional":true,"columnTemplating":false},{"id":"client_certificate","description":"Upload a .p12 Client Certificate file (p12 file at action input takes precedence over connection)","label":"Client Certificate","dataType":"string","inputType":"encryptedFile","optional":true,"columnTemplating":false},{"id":"client_certificate_password","description":"Enter password to read the client certificate","label":"Client Certificate Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false}],"isVariadic":false}],"validation":{"cmd":"python3 -m src.web_api.instance_validation"}},"actions":[{"id":"execute-web-api","name":"Execute Web API","description":"Execute given Web API and return the response","instantiation":{"steps":[{"name":"Step Name","description":"Step Description","inputs":[{"id":"web_api_request_type","description":"Request type to get the method name","label":"Request type","dataType":"string","inputType":"select","options":[{"value":"get","label":"GET"},{"value":"post","label":"POST"},{"value":"put","label":"PUT"},{"value":"delete","label":"DELETE"},{"value":"patch","label":"PATCH"}],"columnTemplating":false},{"id":"web_api_url","description":"Url Endpoint","label":"URL","dataType":"string","inputType":"text","columnTemplating":true},{"id":"web_api_headers","description":"Web api request headers","label":"Headers","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_params","description":"Web api request parameters","label":"Params","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_body","description":"Web api request body","label":"Body","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_username","description":"Username for request","label":"Username","dataType":"string","inputType":"text","optional":true,"columnTemplating":false},{"id":"web_api_password","description":"Password for request","label":"Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false},{"id":"web_api_client_certificate","description":"Upload a .p12 Client Certificate file (p12 file at action input takes precedence over connection)","label":"Client Certificate","dataType":"string","inputType":"encryptedFile","optional":true,"columnTemplating":false},{"id":"web_api_client_certificate_password","description":"Enter password to read the client certificate","label":"Client Certificate Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false},{"id":"web_api_response_format","description":"Select how to parse the response based on its expected format. (Default is \"Raw\" and will pass the full body to the response field). `File` will write the response to a file and return the file-id.","label":"Expected Response Format","dataType":"string","inputType":"select","options":[{"value":"raw","label":"Raw"},{"value":"csv","label":"CSV"},{"value":"html_tables","label":"HTML Tables"},{"value":"json","label":"JSON"},{"value":"file","label":"File"}],"optional":true,"columnTemplating":false},{"id":"web_api_explode_results","description":"If server response is parsed as a list of values instead of a single value, return as individual rows for each value (Default is False)","label":"Explode Results","dataType":"string","inputType":"select","options":[{"value":"False","label":"False"},{"value":"True","label":"True"}],"optional":true,"columnTemplating":false},{"id":"web_api_time_between_consecutive_requests_milliseconds","description":"Time to wait between consecutive API requests in milliseconds (Default is 0 millisecond)","label":"Time between consecutive API requests (in millis)","dataType":"string","inputType":"number","optional":true,"columnTemplating":false},{"id":"__lh_action_timeout_sec","description":"Timeout in seconds (Default is 360 seconds)","label":"Action Timeout","dataType":"string","inputType":"text","optional":true,"columnTemplating":false},{"id":"__lh_rows_to_process","description":"Number of rows to read from parent table","label":"Rows to Process","dataType":"number","inputType":"text","optional":true,"columnTemplating":false},{"id":"__lh_multithread_count","description":"Count of threads to use for processing rows of input table (Default is 1 thread)","label":"Count of threads","dataType":"string","inputType":"text","optional":true,"columnTemplating":false}],"isVariadic":false}],"validation":{"cmd":"python3 -m src.web_api.action_execute-web-api_validate"}},"execution":{"cmd":"python3 -m src.web_api.action_execute-web-api_exec"},"isDataSource":"Optional","isMultiThreaded":"Yes","tags":[]}],"version":"3.1.0","compatible_versions":[],"tags":[]},{"id":"logichub.web_api","name":"Web API","description":"Web API integration allows you to execute any Web API and retrieve results.","logoUrl":"https://s3.amazonaws.com/lhub-public/integrations/default-integration-logo.svg","documentationSlug":"web-api","categories":["utilities"],"runtimeEnvironment":{"runtimeType":"docker","descriptor":{"image":"logichub/integrations-builtin:m88.21"},"id":"default","version":"v0"},"instantiation":{"steps":[{"name":"web_api Authentication Information","description":"Enter authentication information for the web_api integration","inputs":[{"id":"__lh_label","description":"Label for this integration instance.","label":"Label","dataType":"string","inputType":"text","columnTemplating":false},{"id":"__lh_table_key_value","description":"Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com, where hostname is a variable defined in this input.","label":"Reference Values","dataType":"json","inputType":"table","optional":true,"columnTemplating":false},{"id":"__lh_ssl_verify","description":"Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate)","label":"Verify SSL","dataType":"string","inputType":"select","options":[{"value":"True","label":"Verify SSL Certificate"},{"value":"False","label":"Skip Verifying SSL Certificate"}],"optional":true,"columnTemplating":false},{"id":"client_certificate","description":"Upload a .p12 Client Certificate file (p12 file at action input takes precedence over connection)","label":"Client Certificate","dataType":"string","inputType":"encryptedFile","optional":true,"columnTemplating":false},{"id":"client_certificate_password","description":"Enter password to read the client certificate","label":"Client Certificate Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false}],"isVariadic":false}],"validation":{"cmd":"python3 -m src.web_api.instance_validation"}},"actions":[{"id":"execute-web-api","name":"Execute Web API","description":"Execute given Web API and return the response","instantiation":{"steps":[{"name":"Step Name","description":"Step Description","inputs":[{"id":"web_api_request_type","description":"Request type to get the method name","label":"Request type","dataType":"string","inputType":"select","options":[{"value":"get","label":"GET"},{"value":"post","label":"POST"},{"value":"put","label":"PUT"},{"value":"delete","label":"DELETE"},{"value":"patch","label":"PATCH"}],"columnTemplating":false},{"id":"web_api_url","description":"Url Endpoint","label":"URL","dataType":"string","inputType":"text","columnTemplating":true},{"id":"web_api_headers","description":"Web api request headers","label":"Headers","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_params","description":"Web api request parameters","label":"Params","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_body","description":"Web api request body","label":"Body","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_username","description":"Username for request","label":"Username","dataType":"string","inputType":"text","optional":true,"columnTemplating":false},{"id":"web_api_password","description":"Password for request","label":"Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false},{"id":"web_api_client_certificate","description":"Upload a .p12 Client Certificate file (p12 file at action input takes precedence over connection)","label":"Client Certificate","dataType":"string","inputType":"encryptedFile","optional":true,"columnTemplating":false},{"id":"web_api_client_certificate_password","description":"Enter password to read the client certificate","label":"Client Certificate Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false},{"id":"web_api_response_format","description":"Select how to parse the response based on its expected format. (Default is \"Raw\" and will pass the full body to the response field). `File` will write the response to a file and return the file-id.","label":"Expected Response Format","dataType":"string","inputType":"select","options":[{"value":"raw","label":"Raw"},{"value":"csv","label":"CSV"},{"value":"html_tables","label":"HTML Tables"},{"value":"json","label":"JSON"},{"value":"file","label":"File"}],"optional":true,"columnTemplating":false},{"id":"web_api_explode_results","description":"If server response is parsed as a list of values instead of a single value, return as individual rows for each value (Default is False)","label":"Explode Results","dataType":"string","inputType":"select","options":[{"value":"False","label":"False"},{"value":"True","label":"True"}],"optional":true,"columnTemplating":false},{"id":"web_api_time_between_consecutive_requests_milliseconds","description":"Time to wait between consecutive API requests in milliseconds (Default is 0 millisecond)","label":"Time between consecutive API requests (in millis)","dataType":"string","inputType":"number","optional":true,"columnTemplating":false},{"id":"__lh_action_timeout_sec","description":"Timeout in seconds (Default is 360 seconds)","label":"Action Timeout","dataType":"string","inputType":"text","optional":true,"columnTemplating":false},{"id":"__lh_rows_to_process","description":"Number of rows to read from parent table","label":"Rows to Process","dataType":"number","inputType":"text","optional":true,"columnTemplating":false},{"id":"__lh_multithread_count","description":"Count of threads to use for processing rows of input table (Default is 1 thread)","label":"Count of threads","dataType":"string","inputType":"text","optional":true,"columnTemplating":false}],"isVariadic":false}],"validation":{"cmd":"python3 -m src.web_api.action_execute-web-api_validate"}},"execution":{"cmd":"python3 -m src.web_api.action_execute-web-api_exec"},"isDataSource":"Optional","isMultiThreaded":"Yes","tags":[]}],"version":"3.1.0","compatible_versions":[],"tags":[]}],"innerModules":[],"tags":[],"moduleVersion":{"majorVersion":1,"minorVersion":2,"patchVersion":0,"contentResourceVersionBranch":"Local"},"isDataSource":"No","resourceFormatVersion":3,"weight":0}],"annotations":[],"filters":[],"ruleSets":[],"integrationInstances":[{"label":"Twitter API","descriptor":{"id":"logichub.web_api","name":"Web API","description":"Web API integration allows you to execute any Web API and retrieve results.","logoUrl":"https://s3.amazonaws.com/lhub-public/integrations/default-integration-logo.svg","documentationSlug":"web-api","categories":["utilities"],"runtimeEnvironment":{"runtimeType":"docker","descriptor":{"image":"logichub/integrations-builtin:m88.21"},"id":"default","version":"v0"},"instantiation":{"steps":[{"name":"web_api Authentication Information","description":"Enter authentication information for the web_api integration","inputs":[{"id":"__lh_label","description":"Label for this integration instance.","label":"Label","dataType":"string","inputType":"text","columnTemplating":false},{"id":"__lh_table_key_value","description":"Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com, where hostname is a variable defined in this input.","label":"Reference Values","dataType":"json","inputType":"table","optional":true,"columnTemplating":false},{"id":"__lh_ssl_verify","description":"Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate)","label":"Verify SSL","dataType":"string","inputType":"select","options":[{"value":"True","label":"Verify SSL Certificate"},{"value":"False","label":"Skip Verifying SSL Certificate"}],"optional":true,"columnTemplating":false},{"id":"client_certificate","description":"Upload a .p12 Client Certificate file (p12 file at action input takes precedence over connection)","label":"Client Certificate","dataType":"string","inputType":"encryptedFile","optional":true,"columnTemplating":false},{"id":"client_certificate_password","description":"Enter password to read the client certificate","label":"Client Certificate Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false}],"isVariadic":false}],"validation":{"cmd":"python3 -m src.web_api.instance_validation"}},"actions":[{"id":"execute-web-api","name":"Execute Web API","description":"Execute given Web API and return the response","instantiation":{"steps":[{"name":"Step Name","description":"Step Description","inputs":[{"id":"web_api_request_type","description":"Request type to get the method name","label":"Request type","dataType":"string","inputType":"select","options":[{"value":"get","label":"GET"},{"value":"post","label":"POST"},{"value":"put","label":"PUT"},{"value":"delete","label":"DELETE"},{"value":"patch","label":"PATCH"}],"columnTemplating":false},{"id":"web_api_url","description":"Url Endpoint","label":"URL","dataType":"string","inputType":"text","columnTemplating":true},{"id":"web_api_headers","description":"Web api request headers","label":"Headers","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_params","description":"Web api request parameters","label":"Params","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_body","description":"Web api request body","label":"Body","dataType":"string","inputType":"textarea","optional":true,"columnTemplating":true},{"id":"web_api_username","description":"Username for request","label":"Username","dataType":"string","inputType":"text","optional":true,"columnTemplating":false},{"id":"web_api_password","description":"Password for request","label":"Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false},{"id":"web_api_client_certificate","description":"Upload a .p12 Client Certificate file (p12 file at action input takes precedence over connection)","label":"Client Certificate","dataType":"string","inputType":"encryptedFile","optional":true,"columnTemplating":false},{"id":"web_api_client_certificate_password","description":"Enter password to read the client certificate","label":"Client Certificate Password","dataType":"string","inputType":"password","optional":true,"columnTemplating":false},{"id":"web_api_response_format","description":"Select how to parse the response based on its expected format. (Default is \"Raw\" and will pass the full body to the response field). `File` will write the response to a file and return the file-id.","label":"Expected Response Format","dataType":"string","inputType":"select","options":[{"value":"raw","label":"Raw"},{"value":"csv","label":"CSV"},{"value":"html_tables","label":"HTML Tables"},{"value":"json","label":"JSON"},{"value":"file","label":"File"}],"optional":true,"columnTemplating":false},{"id":"web_api_explode_results","description":"If server response is parsed as a list of values instead of a single value, return as individual rows for each value (Default is False)","label":"Explode Results","dataType":"string","inputType":"select","options":[{"value":"False","label":"False"},{"value":"True","label":"True"}],"optional":true,"columnTemplating":false},{"id":"web_api_time_between_consecutive_requests_milliseconds","description":"Time to wait between consecutive API requests in milliseconds (Default is 0 millisecond)","label":"Time between consecutive API requests (in millis)","dataType":"string","inputType":"number","optional":true,"columnTemplating":false},{"id":"__lh_action_timeout_sec","description":"Timeout in seconds (Default is 360 seconds)","label":"Action Timeout","dataType":"string","inputType":"text","optional":true,"columnTemplating":false},{"id":"__lh_rows_to_process","description":"Number of rows to read from parent table","label":"Rows to Process","dataType":"number","inputType":"text","optional":true,"columnTemplating":false},{"id":"__lh_multithread_count","description":"Count of threads to use for processing rows of input table (Default is 1 thread)","label":"Count of threads","dataType":"string","inputType":"text","optional":true,"columnTemplating":false}],"isVariadic":false}],"validation":{"cmd":"python3 -m src.web_api.action_execute-web-api_validate"}},"execution":{"cmd":"python3 -m src.web_api.action_execute-web-api_exec"},"isDataSource":"Optional","isMultiThreaded":"Yes","tags":[]}],"version":"3.1.0","compatible_versions":[],"tags":[]},"updateInfo":{"currentModified":"2021-12-16T13:39:28Z","failedAttempt":{"modified":"2022-09-02T09:10:22.555Z","errorMessage":"This imported connection is using a different version of the Web API (logichub.web_api) integration than what is currently available on this deployment. Please edit the connection to ensure it works correctly."}},"data":{"__lh_is_default_connection":"false","__lh_table_key_value":"","__lh_ssl_verify":"","client_certificate":"","__lh_label":"Twitter API","client_certificate_password":""},"id":47,"isDefault":false}],"customLists":[],"streams":[],"dashboards":[],"images":[],"codeBlobs":{},"customListsData":{},"executionScripts":[{"id":"fix_json.py","digest":"321c800b27062f3f0b447675816b08725f3fe774","createdBy":"admin","createdAt":1661538179955}],"userForms":[],"flowNodeReferences":[],"destinations":[],"fileResources":[],"fileDataSeq":[],"eventModels":[],"version":1}