@devrev-computer/skills 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/README.md +37 -0
  2. package/bin/install.mjs +158 -0
  3. package/package.json +33 -0
  4. package/skills/account-evaluation/account-evaluation.md +64 -0
  5. package/skills/account-research/account-research.md +323 -0
  6. package/skills/account-research/references/signals-guide.md +52 -0
  7. package/skills/create-workflow-template/create-workflow-template.md +1091 -0
  8. package/skills/create-workflow-template/examples/3592-Generate rca from pia-template.json +1 -0
  9. package/skills/create-workflow-template/examples/4392-Async opportunity review agent-template.json +1 -0
  10. package/skills/create-workflow-template/examples/4441-Ticket escalator from customer message-template.json +1 -0
  11. package/skills/create-workflow-template/examples/4505-Auto-update issue tcd as end of sprint date-template.json +1 -0
  12. package/skills/create-workflow-template/examples/5040-Devrevu - enablement journey - poc emails-template.json +1 -0
  13. package/skills/create-workflow-template/examples/5158-Devrevu - enablement journey - mailing for non enablement journey users-template.json +1 -0
  14. package/skills/create-workflow-template/examples/5216-Account segment missing notification-template.json +1 -0
  15. package/skills/create-workflow-template/examples/working-csat-score-on-ticket-resolved.json +1 -0
  16. package/skills/create-workflow-template/examples/working-enhancement-replace-agent.json +1 -0
  17. package/skills/create-workflow-template/examples/working-invoke-code-sample.json +1 -0
  18. package/skills/create-workflow-template/examples/working-loop-variable-sample.json +1 -0
  19. package/skills/create-workflow-template/operations/actions.md +2919 -0
  20. package/skills/create-workflow-template/operations/blockings.md +38 -0
  21. package/skills/create-workflow-template/operations/controls.md +108 -0
  22. package/skills/create-workflow-template/operations/schema-index.md +166 -0
  23. package/skills/create-workflow-template/operations/schemas/account_created.md +58 -0
  24. package/skills/create-workflow-template/operations/schemas/account_updated.md +73 -0
  25. package/skills/create-workflow-template/operations/schemas/add_comment.md +29 -0
  26. package/skills/create-workflow-template/operations/schemas/airdrop_sync_run_started.md +33 -0
  27. package/skills/create-workflow-template/operations/schemas/airdrop_sync_run_status_updated.md +35 -0
  28. package/skills/create-workflow-template/operations/schemas/article_created.md +96 -0
  29. package/skills/create-workflow-template/operations/schemas/article_updated.md +135 -0
  30. package/skills/create-workflow-template/operations/schemas/ask_ai.md +11 -0
  31. package/skills/create-workflow-template/operations/schemas/classify_object.md +22 -0
  32. package/skills/create-workflow-template/operations/schemas/contact_created.md +43 -0
  33. package/skills/create-workflow-template/operations/schemas/contact_updated.md +65 -0
  34. package/skills/create-workflow-template/operations/schemas/conversation_created.md +108 -0
  35. package/skills/create-workflow-template/operations/schemas/conversation_sla_tracker_updated.md +46 -0
  36. package/skills/create-workflow-template/operations/schemas/conversation_updated.md +130 -0
  37. package/skills/create-workflow-template/operations/schemas/convert_conversation_to_ticket.md +13 -0
  38. package/skills/create-workflow-template/operations/schemas/create_account.md +62 -0
  39. package/skills/create-workflow-template/operations/schemas/create_article.md +79 -0
  40. package/skills/create-workflow-template/operations/schemas/create_brand.md +42 -0
  41. package/skills/create-workflow-template/operations/schemas/create_contact.md +65 -0
  42. package/skills/create-workflow-template/operations/schemas/create_dm.md +53 -0
  43. package/skills/create-workflow-template/operations/schemas/create_enhancement.md +63 -0
  44. package/skills/create-workflow-template/operations/schemas/create_incident.md +136 -0
  45. package/skills/create-workflow-template/operations/schemas/create_issue.md +150 -0
  46. package/skills/create-workflow-template/operations/schemas/create_meeting.md +105 -0
  47. package/skills/create-workflow-template/operations/schemas/create_opportunity.md +123 -0
  48. package/skills/create-workflow-template/operations/schemas/create_ticket.md +184 -0
  49. package/skills/create-workflow-template/operations/schemas/csat_response_received.md +73 -0
  50. package/skills/create-workflow-template/operations/schemas/dev_user_created.md +54 -0
  51. package/skills/create-workflow-template/operations/schemas/dev_user_updated.md +99 -0
  52. package/skills/create-workflow-template/operations/schemas/enhancement_created.md +46 -0
  53. package/skills/create-workflow-template/operations/schemas/enhancement_updated.md +89 -0
  54. package/skills/create-workflow-template/operations/schemas/evaluate_sentiment.md +14 -0
  55. package/skills/create-workflow-template/operations/schemas/execute_metric_action.md +11 -0
  56. package/skills/create-workflow-template/operations/schemas/feature_created.md +40 -0
  57. package/skills/create-workflow-template/operations/schemas/for_each.md +45 -0
  58. package/skills/create-workflow-template/operations/schemas/get_account.md +59 -0
  59. package/skills/create-workflow-template/operations/schemas/get_airdrop_sync_unit.md +32 -0
  60. package/skills/create-workflow-template/operations/schemas/get_brand.md +40 -0
  61. package/skills/create-workflow-template/operations/schemas/get_complete_enhancement_details.md +13 -0
  62. package/skills/create-workflow-template/operations/schemas/get_conversation.md +120 -0
  63. package/skills/create-workflow-template/operations/schemas/get_customer.md +60 -0
  64. package/skills/create-workflow-template/operations/schemas/get_enhancement.md +66 -0
  65. package/skills/create-workflow-template/operations/schemas/get_feature.md +56 -0
  66. package/skills/create-workflow-template/operations/schemas/get_incident.md +85 -0
  67. package/skills/create-workflow-template/operations/schemas/get_issue.md +117 -0
  68. package/skills/create-workflow-template/operations/schemas/get_kg_schema.md +23 -0
  69. package/skills/create-workflow-template/operations/schemas/get_meeting.md +87 -0
  70. package/skills/create-workflow-template/operations/schemas/get_metric_trackers.md +20 -0
  71. package/skills/create-workflow-template/operations/schemas/get_node_schema.md +29 -0
  72. package/skills/create-workflow-template/operations/schemas/get_opportunity.md +93 -0
  73. package/skills/create-workflow-template/operations/schemas/get_org_user.md +57 -0
  74. package/skills/create-workflow-template/operations/schemas/get_org_user_preference.md +40 -0
  75. package/skills/create-workflow-template/operations/schemas/get_part.md +55 -0
  76. package/skills/create-workflow-template/operations/schemas/get_self.md +54 -0
  77. package/skills/create-workflow-template/operations/schemas/get_session_details.md +45 -0
  78. package/skills/create-workflow-template/operations/schemas/get_sprint_board.md +103 -0
  79. package/skills/create-workflow-template/operations/schemas/get_ticket.md +136 -0
  80. package/skills/create-workflow-template/operations/schemas/get_workspace.md +21 -0
  81. package/skills/create-workflow-template/operations/schemas/go_back.md +13 -0
  82. package/skills/create-workflow-template/operations/schemas/http.md +38 -0
  83. package/skills/create-workflow-template/operations/schemas/hybrid_search.md +144 -0
  84. package/skills/create-workflow-template/operations/schemas/if_else.md +16 -0
  85. package/skills/create-workflow-template/operations/schemas/incident_created.md +88 -0
  86. package/skills/create-workflow-template/operations/schemas/incident_updated.md +126 -0
  87. package/skills/create-workflow-template/operations/schemas/init_variable.md +67 -0
  88. package/skills/create-workflow-template/operations/schemas/invoice_created.md +21 -0
  89. package/skills/create-workflow-template/operations/schemas/invoice_updated.md +41 -0
  90. package/skills/create-workflow-template/operations/schemas/invoke_code.md +132 -0
  91. package/skills/create-workflow-template/operations/schemas/issue_created.md +105 -0
  92. package/skills/create-workflow-template/operations/schemas/issue_sla_tracker_updated.md +46 -0
  93. package/skills/create-workflow-template/operations/schemas/issue_updated.md +172 -0
  94. package/skills/create-workflow-template/operations/schemas/link_incident_with_issue.md +14 -0
  95. package/skills/create-workflow-template/operations/schemas/link_ticket_with_issue.md +14 -0
  96. package/skills/create-workflow-template/operations/schemas/list_enhancements.md +74 -0
  97. package/skills/create-workflow-template/operations/schemas/list_issues.md +108 -0
  98. package/skills/create-workflow-template/operations/schemas/list_sessions.md +79 -0
  99. package/skills/create-workflow-template/operations/schemas/list_sprint.md +29 -0
  100. package/skills/create-workflow-template/operations/schemas/list_web_sessions.md +87 -0
  101. package/skills/create-workflow-template/operations/schemas/loop_over_accounts.md +106 -0
  102. package/skills/create-workflow-template/operations/schemas/loop_over_articles.md +126 -0
  103. package/skills/create-workflow-template/operations/schemas/loop_over_customers.md +88 -0
  104. package/skills/create-workflow-template/operations/schemas/loop_over_dev_users.md +75 -0
  105. package/skills/create-workflow-template/operations/schemas/loop_over_enhancements.md +112 -0
  106. package/skills/create-workflow-template/operations/schemas/loop_over_incidents.md +113 -0
  107. package/skills/create-workflow-template/operations/schemas/loop_over_issues.md +217 -0
  108. package/skills/create-workflow-template/operations/schemas/loop_over_meetings.md +150 -0
  109. package/skills/create-workflow-template/operations/schemas/loop_over_opportunity.md +161 -0
  110. package/skills/create-workflow-template/operations/schemas/loop_over_sprints.md +50 -0
  111. package/skills/create-workflow-template/operations/schemas/loop_over_tickets.md +203 -0
  112. package/skills/create-workflow-template/operations/schemas/manual_trigger.md +11 -0
  113. package/skills/create-workflow-template/operations/schemas/meeting_created.md +116 -0
  114. package/skills/create-workflow-template/operations/schemas/meeting_updated.md +152 -0
  115. package/skills/create-workflow-template/operations/schemas/oasis_sql_execute.md +11 -0
  116. package/skills/create-workflow-template/operations/schemas/opportunity_created.md +92 -0
  117. package/skills/create-workflow-template/operations/schemas/opportunity_updated.md +124 -0
  118. package/skills/create-workflow-template/operations/schemas/pick_user.md +16 -0
  119. package/skills/create-workflow-template/operations/schemas/question_answer_created.md +44 -0
  120. package/skills/create-workflow-template/operations/schemas/question_answer_updated.md +75 -0
  121. package/skills/create-workflow-template/operations/schemas/recall_chats.md +13 -0
  122. package/skills/create-workflow-template/operations/schemas/router.md +15 -0
  123. package/skills/create-workflow-template/operations/schemas/send_notification.md +19 -0
  124. package/skills/create-workflow-template/operations/schemas/set_variable.md +67 -0
  125. package/skills/create-workflow-template/operations/schemas/sleep_for.md +12 -0
  126. package/skills/create-workflow-template/operations/schemas/sleep_until.md +17 -0
  127. package/skills/create-workflow-template/operations/schemas/sprint_updated.md +37 -0
  128. package/skills/create-workflow-template/operations/schemas/suggest_part.md +14 -0
  129. package/skills/create-workflow-template/operations/schemas/task_updated.md +79 -0
  130. package/skills/create-workflow-template/operations/schemas/test_example.md +16 -0
  131. package/skills/create-workflow-template/operations/schemas/ticket_created.md +136 -0
  132. package/skills/create-workflow-template/operations/schemas/ticket_sla_tracker_updated.md +46 -0
  133. package/skills/create-workflow-template/operations/schemas/ticket_updated.md +198 -0
  134. package/skills/create-workflow-template/operations/schemas/timeline_comment_created.md +70 -0
  135. package/skills/create-workflow-template/operations/schemas/update_account.md +68 -0
  136. package/skills/create-workflow-template/operations/schemas/update_article.md +95 -0
  137. package/skills/create-workflow-template/operations/schemas/update_brand.md +44 -0
  138. package/skills/create-workflow-template/operations/schemas/update_contact.md +53 -0
  139. package/skills/create-workflow-template/operations/schemas/update_conversation.md +149 -0
  140. package/skills/create-workflow-template/operations/schemas/update_enhancement.md +64 -0
  141. package/skills/create-workflow-template/operations/schemas/update_incident.md +156 -0
  142. package/skills/create-workflow-template/operations/schemas/update_issue.md +173 -0
  143. package/skills/create-workflow-template/operations/schemas/update_meeting.md +114 -0
  144. package/skills/create-workflow-template/operations/schemas/update_opportunity.md +137 -0
  145. package/skills/create-workflow-template/operations/schemas/update_question_answer.md +60 -0
  146. package/skills/create-workflow-template/operations/schemas/update_ticket.md +188 -0
  147. package/skills/create-workflow-template/operations/schemas/watch_ticket_for_updates.md +225 -0
  148. package/skills/create-workflow-template/operations/schemas/web_search.md +17 -0
  149. package/skills/create-workflow-template/operations/schemas/while.md +24 -0
  150. package/skills/create-workflow-template/operations/schemas/widget_created.md +75 -0
  151. package/skills/create-workflow-template/operations/schemas/widget_updated.md +98 -0
  152. package/skills/create-workflow-template/operations/schemas/workspace_created.md +20 -0
  153. package/skills/create-workflow-template/operations/triggers.md +1583 -0
  154. package/skills/customer-brief/customer-brief.md +66 -0
  155. package/skills/deal-review-meddpicc/deal-review-meddpicc.md +58 -0
  156. package/skills/next-step-for-opportunity/next-step-for-opportunity.md +55 -0
  157. package/skills/opportunity-feature-prioritizer/SKILL.md +183 -0
  158. package/skills/sales-call-plan-coach/sales-call-plan-coach.md +73 -0
  159. package/skills/sales-context/sales-context.md +44 -0
  160. package/skills/sales-search-and-lookup/sales-search-and-lookup.md +58 -0
  161. package/skills/skill-creator/SKILL.md +570 -0
  162. package/skills/skill-creator/agents/analyzer.md +274 -0
  163. package/skills/skill-creator/agents/comparator.md +202 -0
  164. package/skills/skill-creator/agents/grader.md +223 -0
  165. package/skills/skill-creator/assets/eval_review.html +146 -0
  166. package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  167. package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  168. package/skills/skill-creator/references/schemas.md +430 -0
  169. package/skills/skill-creator/references/tool-patterns.md +290 -0
  170. package/skills/skill-creator/scripts/__init__.py +0 -0
  171. package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  172. package/skills/skill-creator/scripts/generate_report.py +326 -0
  173. package/skills/skill-creator/scripts/improve_description.py +247 -0
  174. package/skills/skill-creator/scripts/package_skill.py +136 -0
  175. package/skills/skill-creator/scripts/quick_validate.py +103 -0
  176. package/skills/skill-creator/scripts/run_eval.py +310 -0
  177. package/skills/skill-creator/scripts/run_loop.py +328 -0
  178. package/skills/skill-creator/scripts/utils.py +47 -0
  179. package/skills/trace-diagnosis/trace-diagnosis.md +186 -0
@@ -0,0 +1 @@
1
+ {"templateVersion":"2.0.0","data":"{\"serialization_version\":{\"major\":2,\"minor\":0,\"patch\":0},\"title\":\"CSAT Score on Ticket Resolved\",\"description\":\"When a ticket is updated to resolved, fetches all comments from the ticket via the timeline-entries API, uses AI to analyze customer satisfaction from those comments, and posts the CSAT score as an internal discussion comment.\",\"steps\":[{\"name\":\"Ticket Updated\",\"description\":\"Triggers when a ticket stage is updated\",\"reference_key\":\"ticket_updated_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"ticket_updated\"},\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"fields_to_watch\",\"value\":{\"type\":\"list_value\",\"value\":{\"items\":[{\"type\":\"literal\",\"value\":[\"stage\"]}]}}}]}],\"next_steps\":[{\"port_name\":\"output\",\"next_step_reference_key\":\"if_else_1\",\"next_port_name\":\"input\"}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":0}}},{\"name\":\"Check if Resolved\",\"description\":\"Checks if the ticket stage contains resolved\",\"reference_key\":\"if_else_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"if_else\"},\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"struct\",\"data_name\":\"condition\",\"db_name\":\"condition\",\"description\":\"Condition to evaluate\",\"is_required\":true,\"name\":\"condition\",\"oasis\":{\"name\":\"condition\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"condition\",\"value\":{\"type\":\"literal\",\"value\":{\"type\":\"group\",\"logical_operator\":\"and\",\"negate\":false,\"conditions\":[{\"type\":\"group\",\"logical_operator\":\"and\",\"negate\":false,\"conditions\":[{\"type\":\"rule\",\"operator\":\"contains\",\"operands\":[{\"type\":\"jsonata_expression\",\"value\":\"$get('ticket_updated_1', 'output').stage.name\"},{\"type\":\"literal\",\"value\":\"resolved\"}]}]}]}}}]}],\"output_ports\":[{\"name\":\"true\",\"type\":\"default\"},{\"name\":\"false\",\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"next_steps\":[{\"port_name\":\"true\",\"next_step_reference_key\":\"http_1\",\"next_port_name\":\"input\"}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":150}}},{\"name\":\"Fetch Ticket Comments\",\"description\":\"Calls the DevRev timeline-entries.list API to fetch all comments on the ticket\",\"reference_key\":\"http_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"http\"},\"input_ports\":[{\"name\":\"input\",\"schema\":{\"composite_schemas\":[{\"description\":\"Key-value pair\",\"fields\":[{\"field_type\":\"text\",\"data_name\":\"key\",\"db_name\":\"key\",\"description\":\"Key\",\"is_required\":true,\"name\":\"key\",\"oasis\":{\"name\":\"key\"}},{\"field_type\":\"text\",\"data_name\":\"value\",\"db_name\":\"value\",\"description\":\"Value\",\"name\":\"value\",\"oasis\":{\"name\":\"value\"}}],\"name\":\"pair\"},{\"description\":\"Transformation to apply to the HTTP response body\",\"fields\":[{\"field_type\":\"text\",\"data_name\":\"jq\",\"db_name\":\"jq\",\"description\":\"JQ query to apply to the HTTP response body.\",\"name\":\"jq\",\"oasis\":{\"name\":\"jq\"}}],\"name\":\"transform\"}],\"field_descriptors\":[{\"field_type\":\"enum\",\"allowed_values\":[\"GET\",\"POST\",\"PUT\",\"PATCH\",\"DELETE\"],\"data_name\":\"method\",\"db_name\":\"method\",\"default_value\":\"GET\",\"description\":\"Method of the HTTP request\",\"name\":\"method\",\"oasis\":{\"name\":\"method\"}},{\"field_type\":\"array\",\"base_type\":\"composite\",\"composite_type\":\"pair\",\"data_name\":\"query_params\",\"db_name\":\"query_params\",\"description\":\"Query parameters of the HTTP request\",\"name\":\"query_params\",\"oasis\":{\"name\":\"query_params\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"Bearer\",\"Basic\",\"None\"],\"data_name\":\"auth_type\",\"db_name\":\"auth_type\",\"default_value\":\"None\",\"description\":\"Authentication type\",\"name\":\"auth_type\",\"oasis\":{\"name\":\"auth_type\"}},{\"field_type\":\"text\",\"data_name\":\"url\",\"db_name\":\"url\",\"description\":\"URL of the HTTP request\",\"is_required\":true,\"name\":\"url\",\"oasis\":{\"name\":\"url\"}},{\"field_type\":\"array\",\"base_type\":\"composite\",\"composite_type\":\"pair\",\"data_name\":\"headers\",\"db_name\":\"headers\",\"description\":\"Headers of the HTTP request\",\"name\":\"headers\",\"oasis\":{\"name\":\"headers\"}},{\"field_type\":\"text\",\"data_name\":\"body\",\"db_name\":\"body\",\"description\":\"Body of the HTTP request\",\"name\":\"body\",\"oasis\":{\"name\":\"body\"}},{\"field_type\":\"text\",\"data_name\":\"sample_response\",\"db_name\":\"sample_response\",\"description\":\"Sample response of the HTTP response body\",\"is_required\":false,\"name\":\"sample_response\",\"oasis\":{\"name\":\"sample_response\"}},{\"field_type\":\"composite\",\"composite_type\":\"transform\",\"data_name\":\"transform\",\"db_name\":\"transform\",\"description\":\"Transformation to apply to the HTTP response body\",\"name\":\"transform\",\"oasis\":{\"name\":\"transform\"}},{\"field_type\":\"bool\",\"data_name\":\"enable_retries\",\"db_name\":\"enable_retries\",\"default_value\":false,\"description\":\"Enable retries on 5XX and 429 error codes\",\"is_required\":false,\"name\":\"enable_retries\",\"oasis\":{\"name\":\"enable_retries\"},\"ui\":{\"display_name\":\"Enable Retries\"}},{\"field_type\":\"tokens\",\"data_name\":\"auth_header\",\"db_name\":\"auth_header\",\"description\":\"Name of the authorization header.\",\"name\":\"auth_header\",\"oasis\":{\"name\":\"auth_header\"},\"ui\":{\"display_name\":\"Authorization Header\",\"placeholder\":\"Authorization\"}}],\"invalidate_on_field_update\":[\"sample_response\",\"transform\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"method\",\"value\":{\"type\":\"literal\",\"value\":\"POST\"}},{\"name\":\"auth_type\",\"value\":{\"type\":\"literal\",\"value\":\"Bearer\"}},{\"name\":\"url\",\"value\":{\"type\":\"text_template\",\"value\":\"https://api.devrev.ai/timeline-entries.list\"}},{\"name\":\"body\",\"value\":{\"type\":\"text_template\",\"value\":\"{\\\"object\\\":\\\"{% expr $get('ticket_updated_1', 'output').id %}\\\",\\\"type\\\":[\\\"timeline_comment\\\"],\\\"visibility\\\":[\\\"external\\\",\\\"internal\\\"]}\"}}]}],\"output_ports\":[{\"name\":\"output\",\"schema\":{\"composite_schemas\":[{\"description\":\"Key-value pair\",\"fields\":[{\"field_type\":\"text\",\"data_name\":\"key\",\"db_name\":\"key\",\"description\":\"Key\",\"is_required\":true,\"name\":\"key\",\"oasis\":{\"name\":\"key\"}},{\"field_type\":\"text\",\"data_name\":\"value\",\"db_name\":\"value\",\"description\":\"Value\",\"name\":\"value\",\"oasis\":{\"name\":\"value\"}}],\"name\":\"pair\"}],\"field_descriptors\":[{\"field_type\":\"int\",\"data_name\":\"status_code\",\"db_name\":\"status_code\",\"description\":\"Status code of the HTTP request\",\"name\":\"status_code\",\"oasis\":{\"name\":\"status_code\"}},{\"field_type\":\"text\",\"data_name\":\"body\",\"db_name\":\"body\",\"description\":\"Body of the HTTP response\",\"name\":\"body\",\"oasis\":{\"name\":\"body\"}},{\"field_type\":\"array\",\"base_type\":\"composite\",\"composite_type\":\"pair\",\"data_name\":\"headers\",\"db_name\":\"headers\",\"description\":\"Headers of the HTTP response\",\"name\":\"headers\",\"oasis\":{\"name\":\"headers\"}},{\"field_type\":\"text\",\"data_name\":\"content_type\",\"db_name\":\"content_type\",\"description\":\"Content type of the HTTP response\",\"name\":\"content_type\",\"oasis\":{\"name\":\"content_type\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"next_steps\":[{\"port_name\":\"output\",\"next_step_reference_key\":\"ask_ai_1\",\"next_port_name\":\"input\"}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":300}}},{\"name\":\"Analyze Customer Satisfaction\",\"description\":\"Uses AI to analyze all ticket comments and generate a customer satisfaction score\",\"reference_key\":\"ask_ai_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"ask_ai\"},\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"ai_input\",\"db_name\":\"ai_input\",\"description\":\"The input prompt based on which the AI response is generated\",\"is_required\":true,\"name\":\"ai_input\",\"oasis\":{\"name\":\"ai_input\"},\"ui\":{\"display_name\":\"Prompt\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"text\",\"structured\"],\"data_name\":\"output_format\",\"db_name\":\"output_format\",\"default_value\":\"text\",\"description\":\"Output format to use for the AI response\",\"name\":\"output_format\",\"oasis\":{\"name\":\"output_format\"},\"ui\":{\"display_name\":\"Output Format\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"Normal (default)\",\"Advanced\"],\"data_name\":\"model\",\"db_name\":\"model\",\"description\":\"Choose default fast responses or reasoning mode.\",\"name\":\"model\",\"oasis\":{\"name\":\"model\"},\"ui\":{\"display_name\":\"Mode\"}}],\"invalidate_on_field_update\":[\"output_format\",\"structure\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"model\",\"value\":{\"type\":\"literal\",\"value\":\"Normal (default)\"}},{\"name\":\"output_format\",\"value\":{\"type\":\"literal\",\"value\":\"text\"}},{\"name\":\"ai_input\",\"value\":{\"type\":\"text_template\",\"value\":\"You are a customer satisfaction analyst. A support ticket has just been resolved. Analyze ALL the customer comments from this ticket and provide a Customer Satisfaction (CSAT) score.\\n\\nTicket Title: {% expr $get('ticket_updated_1', 'output').title %}\\n\\nTicket Description: {% expr $get('ticket_updated_1', 'output').body %}\\n\\nAll Timeline Comments (JSON):\\n{% expr $get('http_1', 'output').body %}\\n\\nInstructions:\\n1. Focus on the customer's messages (external comments from rev_users), not internal agent notes.\\n2. Look for signs of satisfaction or frustration: tone, language, response to resolution, any explicit feedback.\\n3. Consider the overall conversation arc - did the customer's sentiment improve or worsen?\\n\\nProvide your analysis in this format:\\nCSAT Score: X/5 (1=Very Unsatisfied, 2=Unsatisfied, 3=Neutral, 4=Satisfied, 5=Very Satisfied)\\nCustomer Sentiment: <one word: Frustrated/Unhappy/Neutral/Happy/Delighted>\\nAnalysis: <2-3 sentences explaining the score based on actual comment content>\\nKey Quotes: <1-2 relevant quotes from the customer's comments>\"}}]}],\"output_ports\":[{\"name\":\"output\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"ai_output\",\"db_name\":\"ai_output\",\"description\":\"Output string from the AI Action node\",\"name\":\"ai_output\",\"oasis\":{\"name\":\"ai_output\"},\"ui\":{\"display_name\":\"Output String\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"next_steps\":[{\"port_name\":\"output\",\"next_step_reference_key\":\"add_comment_1\",\"next_port_name\":\"input\"}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":450}}},{\"name\":\"Post CSAT Score\",\"description\":\"Adds an internal discussion comment with the customer satisfaction analysis\",\"reference_key\":\"add_comment_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"add_comment\"},\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"id\",\"data_name\":\"object\",\"db_name\":\"object\",\"description\":\"ID of the object\",\"id_type\":[\"account\",\"capability\",\"conversation\",\"enhancement\",\"feature\",\"incident\",\"issue\",\"linkable\",\"opportunity\",\"product\",\"meeting\",\"revo\",\"revu\",\"runnable\",\"ticket\",\"comment\",\"dm\",\"article\"],\"is_required\":true,\"name\":\"object\",\"oasis\":{\"name\":\"object\"}},{\"field_type\":\"text\",\"data_name\":\"body\",\"db_name\":\"body\",\"description\":\"Comment body\",\"is_required\":true,\"name\":\"body\",\"oasis\":{\"name\":\"body\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"external\",\"internal\",\"private\"],\"data_name\":\"visibility\",\"db_name\":\"visibility\",\"default_value\":\"internal\",\"description\":\"Specifies the entry's visibility.\",\"is_required\":false,\"name\":\"visibility\",\"oasis\":{\"name\":\"visibility\"}}],\"invalidate_on_field_update\":[\"visibility\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"object\",\"value\":{\"type\":\"jsonata_expression\",\"value\":\"$get('ticket_updated_1', 'output').id\"}},{\"name\":\"visibility\",\"value\":{\"type\":\"literal\",\"value\":\"internal\"}},{\"name\":\"body\",\"value\":{\"type\":\"text_template\",\"value\":\"**Customer Satisfaction Analysis (Auto-Generated)**\\n\\nTicket: {% expr $get('ticket_updated_1', 'output').display_id %}\\n\\n{% expr $get('ask_ai_1', 'output').ai_output %}\"}}]}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":600}}}]}"}
@@ -0,0 +1 @@
1
+ {"templateVersion":"2.0.0","data":"{\"serialization_version\":{\"major\":2,\"minor\":0,\"patch\":0},\"title\":\"Replace Agent with Computer in Enhancement Description\",\"description\":\"When an enhancement description is updated, checks if it contains the word 'agent'. If found, uses a Code node to replace all occurrences of 'agent' with 'computer' and updates the enhancement.\",\"steps\":[{\"name\":\"Enhancement Updated\",\"description\":\"Triggers when an enhancement description is updated\",\"reference_key\":\"enhancement_updated_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"enhancement_updated\"},\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"fields_to_watch\",\"value\":{\"type\":\"list_value\",\"value\":{\"items\":[{\"type\":\"literal\",\"value\":[\"description\"]}]}}}]}],\"next_steps\":[{\"port_name\":\"output\",\"next_step_reference_key\":\"if_else_1\",\"next_port_name\":\"input\"}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":0}}},{\"name\":\"Check for Agent Word\",\"description\":\"Checks if the enhancement description contains the word agent\",\"reference_key\":\"if_else_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"if_else\"},\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"struct\",\"data_name\":\"condition\",\"db_name\":\"condition\",\"description\":\"Condition to evaluate\",\"is_required\":true,\"name\":\"condition\",\"oasis\":{\"name\":\"condition\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"condition\",\"value\":{\"type\":\"literal\",\"value\":{\"type\":\"group\",\"logical_operator\":\"and\",\"negate\":false,\"conditions\":[{\"type\":\"group\",\"logical_operator\":\"and\",\"negate\":false,\"conditions\":[{\"type\":\"rule\",\"operator\":\"contains\",\"operands\":[{\"type\":\"jsonata_expression\",\"value\":\"$get('enhancement_updated_1', 'output').description\"},{\"type\":\"literal\",\"value\":\"agent\"}]}]}]}}}]}],\"output_ports\":[{\"name\":\"true\",\"type\":\"default\"},{\"name\":\"false\",\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"next_steps\":[{\"port_name\":\"true\",\"next_step_reference_key\":\"invoke_code_1\",\"next_port_name\":\"input\"}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":150}}},{\"name\":\"Execute Code\",\"description\":\"Executes code as an operation.\",\"reference_key\":\"invoke_code_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"invoke_code\"},\"input_ports\":[{\"name\":\"input\",\"schema\":{\"composite_schemas\":[{\"description\":\"A variable\",\"fields\":[{\"field_type\":\"tokens\",\"data_name\":\"name\",\"db_name\":\"name\",\"description\":\"The name of the variable\",\"is_required\":true,\"name\":\"name\",\"oasis\":{\"name\":\"name\"}},{\"field_type\":\"json_value\",\"data_name\":\"value\",\"db_name\":\"value\",\"description\":\"The value of the variable\",\"name\":\"value\",\"oasis\":{\"name\":\"value\"}}],\"name\":\"variable\"}],\"field_descriptors\":[{\"field_type\":\"array\",\"base_type\":\"composite\",\"composite_type\":\"variable\",\"data_name\":\"input_values\",\"db_name\":\"input_values\",\"description\":\"The input variables to pass to the code. The inputs will be passed to run(...) as a dictionary.\",\"name\":\"input_values\",\"oasis\":{\"name\":\"input_values\"}},{\"field_type\":\"composite\",\"composite_type\":\"devrev:schema\",\"data_name\":\"output_schema\",\"db_name\":\"output_schema\",\"description\":\"The schema of the output variables to return from the code. The outputs should be returned from run(...) as a dictionary.\",\"name\":\"output_schema\",\"oasis\":{\"name\":\"output_schema\"}},{\"field_type\":\"text\",\"data_name\":\"code\",\"db_name\":\"code\",\"default_value\":\"def run(inputs):\\n return {}\",\"description\":\"Write your code here. Do not update the run function signature. The inputs will be passed to run(...) as a dictionary.\\n\\n inputs = \\n{\\n'description': VALUE\\n}\",\"is_required\":true,\"name\":\"code\",\"oasis\":{\"name\":\"code\"},\"ui\":{}}],\"invalidate_on_field_update\":[\"output_schema\",\"input_values\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"output_ports\":[{\"name\":\"output\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"updated_description\",\"db_name\":\"updated_description\",\"description\":\"updated_description\",\"name\":\"updated_description\",\"oasis\":{\"name\":\"updated_description\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"next_steps\":[{\"port_name\":\"output\",\"next_step_reference_key\":\"update_enhancement_1\",\"next_port_name\":\"input\"}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":300}},\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"output_schema\",\"value\":{\"type\":\"literal\",\"value\":{\"fields\":[{\"description\":\"\",\"field_type\":\"text\",\"is_filterable\":false,\"name\":\"updated_description\",\"ui\":{\"create_view\":{},\"detail_view\":{\"is_hidden\":true},\"display_name\":\"updated_description\",\"summary_view\":{\"is_hidden\":true}}}]}}},{\"name\":\"input_values\",\"value\":{\"type\":\"list_value\",\"value\":{\"items\":[{\"type\":\"composite_value_list\",\"value\":[{\"fields\":[{\"name\":\"value\",\"value\":{\"type\":\"jsonata_expression\",\"value\":\"$get('enhancement_updated_1', 'output').description\"}},{\"name\":\"name\",\"value\":{\"type\":\"literal\",\"value\":\"description\"}}]}]}]}}},{\"name\":\"code\",\"value\":{\"type\":\"text_template\",\"value\":\"import re\\n\\ndef run(inputs):\\n text = inputs.get('description', '')\\n # Replace all variations of 'agent' with 'computer' (case-insensitive, whole word)\\n cleaned = re.sub(r'\\\\bAgent\\\\b', 'Computer', text)\\n cleaned = re.sub(r'\\\\bagent\\\\b', 'computer', cleaned)\\n cleaned = re.sub(r'\\\\bAGENT\\\\b', 'COMPUTER', cleaned)\\n return {'updated_description': cleaned}\"}}]}]},{\"name\":\"Update Enhancement Description\",\"description\":\"Updates the enhancement with the cleaned description where 'agent' has been replaced with 'computer'\",\"reference_key\":\"update_enhancement_1\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"update_enhancement\"},\"input_ports\":[{\"name\":\"input\",\"schema\":{\"type\":\"field_descriptor\",\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"description\",\"db_name\":\"description\",\"description\":\"The updated description of the enhancement.\",\"name\":\"description\",\"oasis\":{\"name\":\"description\"}},{\"field_type\":\"text\",\"data_name\":\"name\",\"db_name\":\"name\",\"description\":\"The updated name of the enhancement.\",\"name\":\"name\",\"oasis\":{\"name\":\"name\"}},{\"field_type\":\"composite\",\"data_name\":\"owned_by\",\"db_name\":\"owned_by\",\"name\":\"owned_by\",\"oasis\":{\"name\":\"owned_by\"},\"composite_type\":\"_gen:owned_by\"},{\"field_type\":\"text\",\"data_name\":\"release_notes\",\"db_name\":\"release_notes\",\"description\":\"Updates the release notes of the enhancement.\",\"name\":\"release_notes\",\"oasis\":{\"name\":\"release_notes\"},\"max_len\":32768},{\"field_type\":\"timestamp\",\"data_name\":\"target_close_date\",\"db_name\":\"target_close_date\",\"description\":\"Updates the target close date of the enhancement.\",\"name\":\"target_close_date\",\"oasis\":{\"name\":\"target_close_date\"}},{\"field_type\":\"timestamp\",\"data_name\":\"target_start_date\",\"db_name\":\"target_start_date\",\"description\":\"Updates the target start date of the enhancement.\",\"name\":\"target_start_date\",\"oasis\":{\"name\":\"target_start_date\"}},{\"field_type\":\"id\",\"data_name\":\"id\",\"db_name\":\"id\",\"description\":\"The ID of the enhancement\",\"name\":\"id\",\"oasis\":{\"name\":\"id\"},\"is_required\":true,\"id_type\":[\"enhancement\"]},{\"field_type\":\"id\",\"data_name\":\"stage_v2\",\"db_name\":\"stage_v2\",\"description\":\"The stage of the enhancement.\",\"name\":\"stage_v2\",\"oasis\":{\"name\":\"stage_v2\"},\"id_type\":[\"custom_stage\"],\"ui\":{\"display_name\":\"Stage\"}}],\"composite_schemas\":[{\"name\":\"_gen:owned_by\",\"fields\":[{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"set\",\"db_name\":\"set\",\"description\":\"The user that owns the enhancement.\",\"name\":\"set\",\"oasis\":{\"name\":\"set\"},\"id_type\":[\"devu\",\"sysu\",\"svcacc\"]}]}]},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"id\",\"value\":{\"type\":\"jsonata_expression\",\"value\":\"$get('enhancement_updated_1', 'output').id\"}},{\"name\":\"description\",\"value\":{\"type\":\"jsonata_expression\",\"value\":\"$get('invoke_code_1', 'output').updated_description\"}}]}],\"ui_metadata\":{\"position\":{\"x\":0,\"y\":450}}}]}"}
@@ -0,0 +1 @@
1
+ {"data":"{\"description\":\"When an enhancement description is updated, checks if it contains the word 'agent'. If found, uses a Code node to replace all occurrences of 'agent' with 'computer' and updates the enhancement.\",\"serialization_version\":{\"major\":2,\"minor\":0,\"patch\":0},\"steps\":[{\"description\":\"Triggers when an enhancement description is updated\",\"input_values\":[{\"fields\":[{\"name\":\"fields_to_watch\",\"value\":{\"type\":\"list_value\",\"value\":{\"items\":[{\"type\":\"literal\",\"value\":[\"description\"]}]}}}],\"port_name\":\"input\"}],\"name\":\"Enhancement Updated\",\"next_steps\":[{\"next_port_name\":\"input\",\"next_step_reference_key\":\"if_else_1\",\"port_name\":\"output\"}],\"operation\":{\"namespace\":\"devrev\",\"slug\":\"enhancement_updated\"},\"reference_key\":\"enhancement_updated_1\",\"ui_metadata\":{\"position\":{\"x\":0,\"y\":0}}},{\"description\":\"Checks if the enhancement description contains the word agent\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"struct\",\"data_name\":\"condition\",\"db_name\":\"condition\",\"description\":\"Condition to evaluate\",\"is_required\":true,\"name\":\"condition\",\"oasis\":{\"name\":\"condition\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"fields\":[{\"name\":\"condition\",\"value\":{\"type\":\"literal\",\"value\":{\"conditions\":[{\"conditions\":[{\"operands\":[{\"type\":\"jsonata_expression\",\"value\":\"$get('enhancement_updated_1', 'output').description\"},{\"type\":\"literal\",\"value\":\"agent\"}],\"operator\":\"contains\",\"type\":\"rule\"}],\"logical_operator\":\"and\",\"negate\":false,\"type\":\"group\"}],\"logical_operator\":\"and\",\"negate\":false,\"type\":\"group\"}}}],\"port_name\":\"input\"}],\"name\":\"Check for Agent Word\",\"next_steps\":[{\"next_port_name\":\"input\",\"next_step_reference_key\":\"invoke_code_1\",\"port_name\":\"true\"}],\"operation\":{\"namespace\":\"devrev\",\"slug\":\"if_else\"},\"output_ports\":[{\"name\":\"true\",\"type\":\"default\"},{\"name\":\"false\",\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"reference_key\":\"if_else_1\",\"ui_metadata\":{\"position\":{\"x\":0,\"y\":150}}},{\"description\":\"Updates the enhancement with the cleaned description where 'agent' has been replaced with 'computer'\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"composite_schemas\":[{\"fields\":[{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"set\",\"db_name\":\"set\",\"description\":\"The user that owns the enhancement.\",\"id_type\":[\"devu\",\"sysu\",\"svcacc\"],\"name\":\"set\",\"oasis\":{\"name\":\"set\"}}],\"name\":\"_gen:owned_by\"}],\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"description\",\"db_name\":\"description\",\"description\":\"The updated description of the enhancement.\",\"name\":\"description\",\"oasis\":{\"name\":\"description\"}},{\"field_type\":\"text\",\"data_name\":\"name\",\"db_name\":\"name\",\"description\":\"The updated name of the enhancement.\",\"name\":\"name\",\"oasis\":{\"name\":\"name\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:owned_by\",\"data_name\":\"owned_by\",\"db_name\":\"owned_by\",\"name\":\"owned_by\",\"oasis\":{\"name\":\"owned_by\"}},{\"field_type\":\"text\",\"data_name\":\"release_notes\",\"db_name\":\"release_notes\",\"description\":\"Updates the release notes of the enhancement.\",\"max_len\":32768,\"name\":\"release_notes\",\"oasis\":{\"name\":\"release_notes\"}},{\"field_type\":\"timestamp\",\"data_name\":\"target_close_date\",\"db_name\":\"target_close_date\",\"description\":\"Updates the target close date of the enhancement.\",\"name\":\"target_close_date\",\"oasis\":{\"name\":\"target_close_date\"}},{\"field_type\":\"timestamp\",\"data_name\":\"target_start_date\",\"db_name\":\"target_start_date\",\"description\":\"Updates the target start date of the enhancement.\",\"name\":\"target_start_date\",\"oasis\":{\"name\":\"target_start_date\"}},{\"field_type\":\"id\",\"data_name\":\"id\",\"db_name\":\"id\",\"description\":\"The ID of the enhancement\",\"id_type\":[\"enhancement\"],\"is_required\":true,\"name\":\"id\",\"oasis\":{\"name\":\"id\"}},{\"field_type\":\"id\",\"data_name\":\"stage_v2\",\"db_name\":\"stage_v2\",\"description\":\"The stage of the enhancement.\",\"id_type\":[\"custom_stage\"],\"name\":\"stage_v2\",\"oasis\":{\"name\":\"stage_v2\"},\"ui\":{\"display_name\":\"Stage\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"fields\":[{\"name\":\"id\",\"value\":{\"type\":\"jsonata_expression\",\"value\":\"$get('enhancement_updated_1', 'output').id\"}}],\"port_name\":\"input\"}],\"name\":\"Update Enhancement Description\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"update_enhancement\"},\"reference_key\":\"update_enhancement_1\",\"ui_metadata\":{\"position\":{\"x\":0,\"y\":450}}},{\"description\":\"Executes code as an operation.\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"composite_schemas\":[{\"description\":\"A variable\",\"fields\":[{\"field_type\":\"tokens\",\"data_name\":\"name\",\"db_name\":\"name\",\"description\":\"The name of the variable\",\"is_required\":true,\"name\":\"name\",\"oasis\":{\"name\":\"name\"}},{\"field_type\":\"json_value\",\"data_name\":\"value\",\"db_name\":\"value\",\"description\":\"The value of the variable\",\"name\":\"value\",\"oasis\":{\"name\":\"value\"}}],\"name\":\"variable\"}],\"field_descriptors\":[{\"field_type\":\"array\",\"base_type\":\"composite\",\"composite_type\":\"variable\",\"data_name\":\"input_values\",\"db_name\":\"input_values\",\"description\":\"The input variables to pass to the code. The inputs will be passed to run(...) as a dictionary.\",\"name\":\"input_values\",\"oasis\":{\"name\":\"input_values\"}},{\"field_type\":\"composite\",\"composite_type\":\"devrev:schema\",\"data_name\":\"output_schema\",\"db_name\":\"output_schema\",\"description\":\"The schema of the output variables to return from the code. The outputs should be returned from run(...) as a dictionary.\",\"name\":\"output_schema\",\"oasis\":{\"name\":\"output_schema\"}},{\"field_type\":\"text\",\"data_name\":\"code\",\"db_name\":\"code\",\"default_value\":\"def run(inputs):\\n return {}\",\"description\":\"Write your code here. Do not update the run function signature. The inputs will be passed to run(...) as a dictionary.\",\"is_required\":true,\"name\":\"code\",\"oasis\":{\"name\":\"code\"},\"ui\":{\"rich_text_metadata\":{\"code_editor_config\":{\"language\":\"python\"}}}}],\"invalidate_on_field_update\":[\"output_schema\",\"input_values\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"name\":\"Execute Code\",\"next_steps\":[{\"next_port_name\":\"input\",\"next_step_reference_key\":\"update_enhancement_1\",\"port_name\":\"output\"}],\"operation\":{\"namespace\":\"devrev\",\"slug\":\"invoke_code\"},\"output_ports\":[{\"name\":\"output\",\"schema\":{\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"reference_key\":\"invoke_code_1\",\"ui_metadata\":{\"position\":{\"x\":-30,\"y\":300}}}],\"title\":\"Replace Agent with Computer in Enhancement Description\"}","templateVersion":"2.0.0"}
@@ -0,0 +1 @@
1
+ {"data":"{\"description\":\"\",\"serialization_version\":{\"major\":2,\"minor\":0,\"patch\":0},\"steps\":[{\"description\":\"Triggers the workflow at regular intervals\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"composite_schemas\":[{\"description\":\"Timer interval configuration\",\"fields\":[{\"field_type\":\"enum\",\"allowed_values\":[\"days\",\"hours\"],\"data_name\":\"unit\",\"db_name\":\"unit\",\"default_value\":\"days\",\"description\":\"Unit of time for the interval\",\"is_required\":true,\"name\":\"unit\",\"oasis\":{\"name\":\"unit\"},\"ui\":{\"display_name\":\"Unit of time\"}},{\"field_type\":\"int\",\"data_name\":\"number_of_units\",\"db_name\":\"number_of_units\",\"default_value\":1,\"description\":\"Number of Units\",\"is_required\":true,\"name\":\"number_of_units\",\"oasis\":{\"name\":\"number_of_units\"},\"ui\":{\"display_name\":\"Number of Units\"}}],\"name\":\"timer_interval\"},{\"description\":\"Timer cron configuration\",\"fields\":[{\"field_type\":\"tokens\",\"data_name\":\"schedule\",\"db_name\":\"schedule\",\"description\":\"The cron expression for the timer trigger. Only minute granularity is supported. Example: \\\"0 0 * * *\\\" for daily at midnight. Schedules with frequency less than 10 minutes are not supported.\",\"is_required\":true,\"name\":\"schedule\",\"oasis\":{\"name\":\"schedule\"}}],\"name\":\"timer_cron\"}],\"field_descriptors\":[{\"field_type\":\"uenum\",\"allowed_values\":[{\"id\":1,\"label\":\"Interval based\",\"ordinal\":1,\"tooltip\":\"Trigger the workflow at regular intervals\",\"value\":\"interval\"},{\"id\":2,\"label\":\"Cron based\",\"ordinal\":2,\"tooltip\":\"Trigger the workflow at a specific time using a cron expression\",\"value\":\"cron\"}],\"data_name\":\"type\",\"db_name\":\"type\",\"default_value\":1,\"description\":\"The type of timer trigger\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Type\"}},{\"field_type\":\"composite\",\"composite_type\":\"timer_interval\",\"data_name\":\"interval\",\"db_name\":\"interval\",\"description\":\"The interval at which the workflow should trigger. The interval should be less than 31 days.\",\"is_required\":false,\"name\":\"interval\",\"oasis\":{\"name\":\"interval\"}},{\"field_type\":\"composite\",\"composite_type\":\"timer_cron\",\"data_name\":\"cron\",\"db_name\":\"cron\",\"description\":\"The cron configuration for the timer trigger.\",\"is_required\":false,\"name\":\"cron\",\"oasis\":{\"name\":\"cron\"}},{\"field_type\":\"struct\",\"data_name\":\"_filter\",\"db_name\":\"_filter\",\"description\":\"Filter for the trigger event\",\"name\":\"_filter\",\"oasis\":{\"name\":\"_filter\"},\"ui\":{\"display_name\":\"Filter\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"name\":\"Timer Trigger\",\"next_steps\":[{\"next_port_name\":\"input\",\"next_step_reference_key\":\"init_variable_1\",\"port_name\":\"output\"}],\"operation\":{\"namespace\":\"devrev\",\"slug\":\"timer_trigger\"},\"output_ports\":[{\"name\":\"output\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"timestamp\",\"data_name\":\"scheduled_time\",\"db_name\":\"scheduled_time\",\"description\":\"The time when the workflow was scheduled to trigger\",\"is_required\":true,\"name\":\"scheduled_time\",\"oasis\":{\"name\":\"scheduled_time\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"reference_key\":\"timer_trigger_1\",\"ui_metadata\":{\"position\":{\"x\":106,\"y\":-7}}},{\"description\":\"Initializes a variable of a type\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"composite\",\"composite_type\":\"devrev:schema\",\"data_name\":\"variables\",\"db_name\":\"variables\",\"description\":\"The variables to initialize.\",\"name\":\"variables\",\"oasis\":{\"name\":\"variables\"}}],\"invalidate_on_field_update\":[\"variables\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"fields\":[{\"name\":\"variables\",\"value\":{\"type\":\"literal\",\"value\":{\"fields\":[{\"description\":\"\",\"field_type\":\"text\",\"is_filterable\":false,\"name\":\"summary\",\"ui\":{\"create_view\":{},\"detail_view\":{\"is_hidden\":true},\"display_name\":\"summary\",\"summary_view\":{\"is_hidden\":true}}}]}}}],\"port_name\":\"input\"}],\"name\":\"Initialize Variable\",\"next_steps\":[{\"next_port_name\":\"input\",\"next_step_reference_key\":\"loop_over_issues_1\",\"port_name\":\"output\"}],\"operation\":{\"namespace\":\"devrev\",\"slug\":\"init_variable\"},\"output_ports\":[{\"name\":\"output\",\"schema\":{\"type\":\"field_descriptor\"},\"scope_variables\":[{\"field_descriptor\":{\"field_type\":\"text\",\"data_name\":\"summary\",\"db_name\":\"summary\",\"description\":\"\",\"is_filterable\":false,\"name\":\"summary\",\"oasis\":{\"name\":\"summary\"},\"ui\":{\"create_view\":{},\"detail_view\":{\"is_hidden\":true},\"display_name\":\"summary\",\"summary_view\":{\"is_hidden\":true}}}}],\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"reference_key\":\"init_variable_1\",\"ui_metadata\":{\"position\":{\"x\":100,\"y\":150}}},{\"description\":\"Lists issues based on the given filters and performs operations on them.\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"composite_schemas\":[{\"description\":\"Provides ways to specify date ranges on objects.\",\"fields\":[{\"field_type\":\"timestamp\",\"data_name\":\"after\",\"db_name\":\"after\",\"description\":\"Filters for objects created after the provided timestamp\\n(inclusive).\\n\",\"name\":\"after\",\"oasis\":{\"name\":\"after\"}},{\"field_type\":\"timestamp\",\"data_name\":\"before\",\"db_name\":\"before\",\"description\":\"Filters for objects created before the provided timestamp\\n(inclusive).\\n\",\"name\":\"before\",\"oasis\":{\"name\":\"before\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"range\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of date filter.\",\"is_required\":true,\"name\":\"type\",\"oasis\":{\"name\":\"type\"}}],\"name\":\"_gen:actual_close_date\"},{\"description\":\"Provides ways to specify date ranges on objects.\",\"fields\":[{\"field_type\":\"timestamp\",\"data_name\":\"after\",\"db_name\":\"after\",\"description\":\"Filters for objects created after the provided timestamp\\n(inclusive).\\n\",\"name\":\"after\",\"oasis\":{\"name\":\"after\"}},{\"field_type\":\"timestamp\",\"data_name\":\"before\",\"db_name\":\"before\",\"description\":\"Filters for objects created before the provided timestamp\\n(inclusive).\\n\",\"name\":\"before\",\"oasis\":{\"name\":\"before\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"range\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of date filter.\",\"is_required\":true,\"name\":\"type\",\"oasis\":{\"name\":\"type\"}}],\"name\":\"_gen:actual_start_date\"},{\"description\":\"Provides ways to specify date ranges on objects.\",\"fields\":[{\"field_type\":\"timestamp\",\"data_name\":\"after\",\"db_name\":\"after\",\"description\":\"Filters for objects created after the provided timestamp\\n(inclusive).\\n\",\"name\":\"after\",\"oasis\":{\"name\":\"after\"}},{\"field_type\":\"timestamp\",\"data_name\":\"before\",\"db_name\":\"before\",\"description\":\"Filters for objects created before the provided timestamp\\n(inclusive).\\n\",\"name\":\"before\",\"oasis\":{\"name\":\"before\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"range\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of date filter.\",\"is_required\":true,\"name\":\"type\",\"oasis\":{\"name\":\"type\"}}],\"name\":\"_gen:created_date\"},{\"fields\":[{\"field_type\":\"array\",\"base_type\":\"enum\",\"allowed_values\":[\"failed\",\"modified\",\"staged\",\"succeeded\"],\"data_name\":\"status\",\"db_name\":\"status\",\"description\":\"Filters for works with selected sync statuses.\",\"name\":\"status\",\"oasis\":{\"name\":\"status\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:sync_date\",\"data_name\":\"sync_date\",\"db_name\":\"sync_date\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"sync_date\",\"oasis\":{\"name\":\"sync_date\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"sync_history\",\"db_name\":\"sync_history\",\"description\":\"Filters for works modified with selected sync history.\",\"id_type\":[\"sync_history\"],\"name\":\"sync_history\",\"oasis\":{\"name\":\"sync_history\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"sync_unit\",\"db_name\":\"sync_unit\",\"description\":\"Filters for works modified with selected sync units.\",\"id_type\":[\"sync_unit\"],\"name\":\"sync_unit\",\"oasis\":{\"name\":\"sync_unit\"}}],\"name\":\"_gen:last_sync_in\"},{\"fields\":[{\"field_type\":\"array\",\"base_type\":\"enum\",\"allowed_values\":[\"failed\",\"modified\",\"succeeded\"],\"data_name\":\"status\",\"db_name\":\"status\",\"description\":\"Filters for works with selected sync statuses.\",\"name\":\"status\",\"oasis\":{\"name\":\"status\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:sync_date\",\"data_name\":\"sync_date\",\"db_name\":\"sync_date\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"sync_date\",\"oasis\":{\"name\":\"sync_date\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"sync_history\",\"db_name\":\"sync_history\",\"description\":\"Filters for works modified with selected sync history.\",\"id_type\":[\"sync_history\"],\"name\":\"sync_history\",\"oasis\":{\"name\":\"sync_history\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"sync_unit\",\"db_name\":\"sync_unit\",\"description\":\"Filters for works modified with selected sync units.\",\"id_type\":[\"sync_unit\"],\"name\":\"sync_unit\",\"oasis\":{\"name\":\"sync_unit\"}}],\"name\":\"_gen:last_sync_out\"},{\"description\":\"Provides ways to specify date ranges on objects.\",\"fields\":[{\"field_type\":\"timestamp\",\"data_name\":\"after\",\"db_name\":\"after\",\"description\":\"Filters for objects created after the provided timestamp\\n(inclusive).\\n\",\"name\":\"after\",\"oasis\":{\"name\":\"after\"}},{\"field_type\":\"timestamp\",\"data_name\":\"before\",\"db_name\":\"before\",\"description\":\"Filters for objects created before the provided timestamp\\n(inclusive).\\n\",\"name\":\"before\",\"oasis\":{\"name\":\"before\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"range\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of date filter.\",\"is_required\":true,\"name\":\"type\",\"oasis\":{\"name\":\"type\"}}],\"name\":\"_gen:modified_date\"},{\"description\":\"The filter for SLA summary.\",\"fields\":[{\"field_type\":\"array\",\"base_type\":\"enum\",\"allowed_values\":[\"breached\",\"completed\",\"paused\",\"running\",\"warning\"],\"data_name\":\"stage\",\"db_name\":\"stage\",\"description\":\"Filters for records with any of the provided SLA stages.\",\"name\":\"stage\",\"oasis\":{\"name\":\"stage\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:target_time\",\"data_name\":\"target_time\",\"db_name\":\"target_time\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"target_time\",\"oasis\":{\"name\":\"target_time\"}}],\"name\":\"_gen:sla_summary\"},{\"description\":\"Provides ways to specify date ranges on objects.\",\"fields\":[{\"field_type\":\"timestamp\",\"data_name\":\"after\",\"db_name\":\"after\",\"description\":\"Filters for objects created after the provided timestamp\\n(inclusive).\\n\",\"name\":\"after\",\"oasis\":{\"name\":\"after\"}},{\"field_type\":\"timestamp\",\"data_name\":\"before\",\"db_name\":\"before\",\"description\":\"Filters for objects created before the provided timestamp\\n(inclusive).\\n\",\"name\":\"before\",\"oasis\":{\"name\":\"before\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"range\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of date filter.\",\"is_required\":true,\"name\":\"type\",\"oasis\":{\"name\":\"type\"}}],\"name\":\"_gen:sync_date\"},{\"fields\":[{\"field_type\":\"array\",\"base_type\":\"text\",\"data_name\":\"external_reference\",\"db_name\":\"external_reference\",\"description\":\"Filters for issues with this specific external reference.\\n\",\"name\":\"external_reference\",\"oasis\":{\"name\":\"external_reference\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:last_sync_in\",\"data_name\":\"last_sync_in\",\"db_name\":\"last_sync_in\",\"name\":\"last_sync_in\",\"oasis\":{\"name\":\"last_sync_in\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:last_sync_out\",\"data_name\":\"last_sync_out\",\"db_name\":\"last_sync_out\",\"name\":\"last_sync_out\",\"oasis\":{\"name\":\"last_sync_out\"}},{\"field_type\":\"array\",\"base_type\":\"text\",\"data_name\":\"origin_system\",\"db_name\":\"origin_system\",\"description\":\"Filters for issues synced from this specific origin system.\\n\",\"name\":\"origin_system\",\"oasis\":{\"name\":\"origin_system\"}}],\"name\":\"_gen:sync_metadata\"},{\"description\":\"Provides ways to specify date ranges on objects.\",\"fields\":[{\"field_type\":\"timestamp\",\"data_name\":\"after\",\"db_name\":\"after\",\"description\":\"Filters for objects created after the provided timestamp\\n(inclusive).\\n\",\"name\":\"after\",\"oasis\":{\"name\":\"after\"}},{\"field_type\":\"timestamp\",\"data_name\":\"before\",\"db_name\":\"before\",\"description\":\"Filters for objects created before the provided timestamp\\n(inclusive).\\n\",\"name\":\"before\",\"oasis\":{\"name\":\"before\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"range\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of date filter.\",\"is_required\":true,\"name\":\"type\",\"oasis\":{\"name\":\"type\"}}],\"name\":\"_gen:target_close_date\"},{\"description\":\"Provides ways to specify date ranges on objects.\",\"fields\":[{\"field_type\":\"timestamp\",\"data_name\":\"after\",\"db_name\":\"after\",\"description\":\"Filters for objects created after the provided timestamp\\n(inclusive).\\n\",\"name\":\"after\",\"oasis\":{\"name\":\"after\"}},{\"field_type\":\"timestamp\",\"data_name\":\"before\",\"db_name\":\"before\",\"description\":\"Filters for objects created before the provided timestamp\\n(inclusive).\\n\",\"name\":\"before\",\"oasis\":{\"name\":\"before\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"range\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of date filter.\",\"is_required\":true,\"name\":\"type\",\"oasis\":{\"name\":\"type\"}}],\"name\":\"_gen:target_start_date\"},{\"description\":\"Provides ways to specify date ranges on objects.\",\"fields\":[{\"field_type\":\"timestamp\",\"data_name\":\"after\",\"db_name\":\"after\",\"description\":\"Filters for objects created after the provided timestamp\\n(inclusive).\\n\",\"name\":\"after\",\"oasis\":{\"name\":\"after\"}},{\"field_type\":\"timestamp\",\"data_name\":\"before\",\"db_name\":\"before\",\"description\":\"Filters for objects created before the provided timestamp\\n(inclusive).\\n\",\"name\":\"before\",\"oasis\":{\"name\":\"before\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"range\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of date filter.\",\"is_required\":true,\"name\":\"type\",\"oasis\":{\"name\":\"type\"}}],\"name\":\"_gen:target_time\"}],\"conditions\":[{\"effects\":[{\"fields\":[\"stages\"],\"invalid\":true}],\"expression_ast\":[\"match\",\"$stages\",[\"nin\",\"don:core:dvrv-us-1:devo/0:custom_stage/85\",\"don:core:dvrv-us-1:devo/0:custom_stage/84\",\"don:core:dvrv-us-1:devo/0:custom_stage/86\",\"don:core:dvrv-us-1:devo/0:custom_stage/96\",\"don:core:dvrv-us-1:devo/0:custom_stage/102\",\"don:core:dvrv-us-1:devo/0:custom_stage/109\",\"don:core:dvrv-us-1:devo/0:custom_stage/110\",\"don:core:dvrv-us-1:devo/0:custom_stage/111\",\"don:core:dvrv-us-1:devo/0:custom_stage/5\",\"don:core:dvrv-us-1:devo/0:custom_stage/8\",\"don:core:dvrv-us-1:devo/0:custom_stage/4\",\"don:core:dvrv-us-1:devo/0:custom_stage/20\",\"don:core:dvrv-us-1:devo/0:custom_stage/16\",\"don:core:dvrv-us-1:devo/0:custom_stage/6\",\"don:core:dvrv-us-1:devo/0:custom_stage/27\",\"don:core:dvrv-us-1:devo/0:custom_stage/99\",\"don:core:dvrv-us-1:devo/0:custom_stage/98\",\"don:core:dvrv-us-1:devo/0:custom_stage/17\",\"don:core:dvrv-us-1:devo/0:custom_stage/13\",\"don:core:dvrv-us-1:devo/0:custom_stage/15\",\"don:core:dvrv-us-1:devo/0:custom_stage/68\",\"don:core:dvrv-us-1:devo/0:custom_stage/12\",\"don:core:dvrv-us-1:devo/0:custom_stage/79\",\"don:core:dvrv-us-1:devo/0:custom_stage/56\",\"don:core:dvrv-us-1:devo/0:custom_stage/57\",\"don:core:dvrv-us-1:devo/0:custom_stage/58\",\"don:core:dvrv-us-1:devo/0:custom_stage/55\",\"don:core:dvrv-us-1:devo/0:custom_stage/23\",\"don:core:dvrv-us-1:devo/0:custom_stage/3\",\"don:core:dvrv-us-1:devo/0:custom_stage/2\",\"don:core:dvrv-us-1:devo/0:custom_stage/40\",\"don:core:dvrv-us-1:devo/0:custom_stage/41\",\"don:core:dvrv-us-1:devo/0:custom_stage/42\",\"don:core:dvrv-us-1:devo/0:custom_stage/43\",\"don:core:dvrv-us-1:devo/0:custom_stage/44\",\"don:core:dvrv-us-1:devo/0:custom_stage/45\",\"don:core:dvrv-us-1:devo/0:custom_stage/113\",\"don:core:dvrv-us-1:devo/0:custom_stage/38\"]]}],\"field_descriptors\":[{\"field_type\":\"composite\",\"composite_type\":\"_gen:actual_close_date\",\"data_name\":\"actual_close_date\",\"db_name\":\"actual_close_date\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"actual_close_date\",\"oasis\":{\"name\":\"actual_close_date\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"applies_to_part\",\"db_name\":\"applies_to_part\",\"description\":\"Filters for issues belonging to any of the provided parts.\",\"id_type\":[\"capability\",\"component\",\"custom_part\",\"enhancement\",\"feature\",\"linkable\",\"microservice\",\"product\",\"runnable\"],\"name\":\"applies_to_part\",\"oasis\":{\"name\":\"applies_to_part\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:created_date\",\"data_name\":\"created_date\",\"db_name\":\"created_date\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"created_date\",\"oasis\":{\"name\":\"created_date\"}},{\"field_type\":\"array\",\"base_type\":\"text\",\"data_name\":\"external_ref\",\"db_name\":\"external_ref\",\"description\":\"Filters for work with any of the provided external references.\\n\",\"name\":\"external_ref\",\"oasis\":{\"name\":\"external_ref\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"accounts\",\"db_name\":\"accounts\",\"description\":\"Filters for issues with any of the provided accounts.\",\"id_type\":[\"account\"],\"name\":\"accounts\",\"oasis\":{\"name\":\"accounts\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:actual_start_date\",\"data_name\":\"actual_start_date\",\"db_name\":\"actual_start_date\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"actual_start_date\",\"oasis\":{\"name\":\"actual_start_date\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"group\",\"db_name\":\"group\",\"description\":\"Filters for issues belonging to specific groups.\",\"id_type\":[\"group\"],\"name\":\"group\",\"oasis\":{\"name\":\"group\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"rev_orgs\",\"db_name\":\"rev_orgs\",\"description\":\"Filters for issues with any of the provided Rev organizations.\\n\",\"id_type\":[\"revo\"],\"name\":\"rev_orgs\",\"oasis\":{\"name\":\"rev_orgs\"},\"ui\":{\"display_name\":\"Workspaces\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:sla_summary\",\"data_name\":\"sla_summary\",\"db_name\":\"sla_summary\",\"description\":\"The filter for SLA summary.\",\"name\":\"sla_summary\",\"oasis\":{\"name\":\"sla_summary\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"sprint\",\"db_name\":\"sprint\",\"description\":\"Filters for issues with any of the sprint.\",\"id_type\":[\"vista_group_item\"],\"name\":\"sprint\",\"oasis\":{\"name\":\"sprint\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:target_start_date\",\"data_name\":\"target_start_date\",\"db_name\":\"target_start_date\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"target_start_date\",\"oasis\":{\"name\":\"target_start_date\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:modified_date\",\"data_name\":\"modified_date\",\"db_name\":\"modified_date\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"modified_date\",\"oasis\":{\"name\":\"modified_date\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"reported_by\",\"db_name\":\"reported_by\",\"description\":\"Filters for work reported by any of these users.\",\"id_type\":[\"devu\",\"revu\",\"svcacc\",\"sysu\"],\"name\":\"reported_by\",\"oasis\":{\"name\":\"reported_by\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:sync_metadata\",\"data_name\":\"sync_metadata\",\"db_name\":\"sync_metadata\",\"name\":\"sync_metadata\",\"oasis\":{\"name\":\"sync_metadata\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"tags\",\"db_name\":\"tags\",\"description\":\"Filters for work with any of the provided tags.\",\"id_type\":[\"tag\"],\"name\":\"tags\",\"oasis\":{\"name\":\"tags\"}},{\"field_type\":\"composite\",\"composite_type\":\"_gen:target_close_date\",\"data_name\":\"target_close_date\",\"db_name\":\"target_close_date\",\"description\":\"Provides ways to specify date ranges on objects.\",\"name\":\"target_close_date\",\"oasis\":{\"name\":\"target_close_date\"}},{\"field_type\":\"id\",\"data_name\":\"vista\",\"db_name\":\"vista\",\"description\":\"Filters for work belonging to the given vista.\",\"id_type\":[\"vista\",\"vista_group_item\"],\"name\":\"vista\",\"oasis\":{\"name\":\"vista\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"owned_by\",\"db_name\":\"owned_by\",\"description\":\"Filters for issues owned by any of these users.\",\"id_type\":[\"devu\",\"sysu\",\"svcacc\"],\"name\":\"owned_by\",\"oasis\":{\"name\":\"owned_by\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"created_by\",\"db_name\":\"created_by\",\"description\":\"Filters for issues created by any of these users.\",\"id_type\":[\"devu\",\"svcacc\",\"sysu\"],\"name\":\"created_by\",\"oasis\":{\"name\":\"created_by\"}},{\"field_type\":\"int\",\"data_name\":\"limit\",\"db_name\":\"limit\",\"description\":\"The maximum number of issues to return. Maximum is 1000.\",\"lte\":1000,\"name\":\"limit\",\"oasis\":{\"name\":\"limit\"}},{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"stages\",\"db_name\":\"stages\",\"description\":\"List of IDs of the custom stages which will be used for filtering.\\n\",\"id_type\":[\"custom_stage\"],\"name\":\"stages\",\"oasis\":{\"name\":\"stages\"},\"ui\":{\"display_name\":\"Stage\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"block_callback\",\"schema\":{\"type\":\"field_descriptor\"},\"type\":\"block_callback\"}],\"name\":\"Loop Over Issues\",\"next_steps\":[{\"next_port_name\":\"input\",\"next_step_reference_key\":\"http_1\",\"port_name\":\"block_start\"},{\"next_port_name\":\"input\",\"next_step_reference_key\":\"ask_ai_1\",\"port_name\":\"output\"}],\"operation\":{\"namespace\":\"devrev\",\"slug\":\"loop_over_issues\"},\"output_ports\":[{\"name\":\"output\",\"schema\":{\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"block_start\",\"schema\":{\"type\":\"field_descriptor\"},\"type\":\"block_start\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"reference_key\":\"loop_over_issues_1\",\"ui_metadata\":{\"position\":{\"x\":0,\"y\":300}}},{\"block_step_reference_key\":\"loop_over_issues_1\",\"description\":\"Fetches timeline comments for the current issue\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"composite_schemas\":[{\"description\":\"Key-value pair\",\"fields\":[{\"field_type\":\"text\",\"data_name\":\"key\",\"db_name\":\"key\",\"description\":\"Key\",\"is_required\":true,\"name\":\"key\",\"oasis\":{\"name\":\"key\"}},{\"field_type\":\"text\",\"data_name\":\"value\",\"db_name\":\"value\",\"description\":\"Value\",\"name\":\"value\",\"oasis\":{\"name\":\"value\"}}],\"name\":\"pair\"},{\"description\":\"Transformation to apply to the HTTP response body\",\"fields\":[{\"field_type\":\"text\",\"data_name\":\"jq\",\"db_name\":\"jq\",\"description\":\"JQ query to apply to the HTTP response body.\",\"name\":\"jq\",\"oasis\":{\"name\":\"jq\"}}],\"name\":\"transform\"}],\"field_descriptors\":[{\"field_type\":\"enum\",\"allowed_values\":[\"GET\",\"POST\",\"PUT\",\"PATCH\",\"DELETE\"],\"data_name\":\"method\",\"db_name\":\"method\",\"default_value\":\"GET\",\"description\":\"Method of the HTTP request\",\"name\":\"method\",\"oasis\":{\"name\":\"method\"}},{\"field_type\":\"array\",\"base_type\":\"composite\",\"composite_type\":\"pair\",\"data_name\":\"query_params\",\"db_name\":\"query_params\",\"description\":\"Query parameters\",\"name\":\"query_params\",\"oasis\":{\"name\":\"query_params\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"Bearer\",\"Basic\",\"None\"],\"data_name\":\"auth_type\",\"db_name\":\"auth_type\",\"default_value\":\"None\",\"description\":\"Authentication type\",\"name\":\"auth_type\",\"oasis\":{\"name\":\"auth_type\"}},{\"field_type\":\"text\",\"data_name\":\"url\",\"db_name\":\"url\",\"description\":\"URL of the HTTP request\",\"is_required\":true,\"name\":\"url\",\"oasis\":{\"name\":\"url\"}},{\"field_type\":\"array\",\"base_type\":\"composite\",\"composite_type\":\"pair\",\"data_name\":\"headers\",\"db_name\":\"headers\",\"description\":\"Headers\",\"name\":\"headers\",\"oasis\":{\"name\":\"headers\"}},{\"field_type\":\"text\",\"data_name\":\"body\",\"db_name\":\"body\",\"description\":\"Body of the HTTP request\",\"name\":\"body\",\"oasis\":{\"name\":\"body\"}},{\"field_type\":\"text\",\"data_name\":\"sample_response\",\"db_name\":\"sample_response\",\"description\":\"Sample response\",\"is_required\":false,\"name\":\"sample_response\",\"oasis\":{\"name\":\"sample_response\"}},{\"field_type\":\"composite\",\"composite_type\":\"transform\",\"data_name\":\"transform\",\"db_name\":\"transform\",\"description\":\"Transformation to apply\",\"name\":\"transform\",\"oasis\":{\"name\":\"transform\"}},{\"field_type\":\"bool\",\"data_name\":\"enable_retries\",\"db_name\":\"enable_retries\",\"default_value\":false,\"description\":\"Enable retries on 5XX and 429 error codes\",\"is_required\":false,\"name\":\"enable_retries\",\"oasis\":{\"name\":\"enable_retries\"},\"ui\":{\"display_name\":\"Enable Retries\"}},{\"field_type\":\"tokens\",\"data_name\":\"auth_header\",\"db_name\":\"auth_header\",\"description\":\"Name of the authorization header.\",\"name\":\"auth_header\",\"oasis\":{\"name\":\"auth_header\"},\"ui\":{\"display_name\":\"Authorization Header\",\"placeholder\":\"Authorization\"}}],\"invalidate_on_field_update\":[\"sample_response\",\"transform\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"method\",\"value\":{\"type\":\"literal\",\"value\":\"POST\"}},{\"name\":\"auth_type\",\"value\":{\"type\":\"literal\",\"value\":\"Bearer\"}},{\"name\":\"url\",\"value\":{\"type\":\"text_template\",\"value\":\"https://api.devrev.ai/timeline-entries.list\"}},{\"name\":\"body\",\"value\":{\"type\":\"text_template\",\"value\":\"{\\\"object\\\":\\\"{% expr $get('loop_over_issues_1', 'block_start').id %}\\\",\\\"type\\\":[\\\"timeline_comment\\\"],\\\"visibility\\\":[\\\"external\\\",\\\"internal\\\"]}\"}}]}],\"name\":\"List Timeline Entries\",\"next_steps\":[{\"next_port_name\":\"input\",\"next_step_reference_key\":\"set_variable_1\",\"port_name\":\"output\"}],\"operation\":{\"namespace\":\"devrev\",\"slug\":\"http\"},\"output_ports\":[{\"name\":\"output\",\"schema\":{\"composite_schemas\":[{\"description\":\"Key-value pair\",\"fields\":[{\"field_type\":\"text\",\"data_name\":\"key\",\"db_name\":\"key\",\"description\":\"Key\",\"is_required\":true,\"name\":\"key\",\"oasis\":{\"name\":\"key\"}},{\"field_type\":\"text\",\"data_name\":\"value\",\"db_name\":\"value\",\"description\":\"Value\",\"name\":\"value\",\"oasis\":{\"name\":\"value\"}}],\"name\":\"pair\"}],\"field_descriptors\":[{\"field_type\":\"int\",\"data_name\":\"status_code\",\"db_name\":\"status_code\",\"description\":\"Status code\",\"name\":\"status_code\",\"oasis\":{\"name\":\"status_code\"}},{\"field_type\":\"text\",\"data_name\":\"body\",\"db_name\":\"body\",\"description\":\"Body of the HTTP response\",\"name\":\"body\",\"oasis\":{\"name\":\"body\"}},{\"field_type\":\"array\",\"base_type\":\"composite\",\"composite_type\":\"pair\",\"data_name\":\"headers\",\"db_name\":\"headers\",\"description\":\"Headers\",\"name\":\"headers\",\"oasis\":{\"name\":\"headers\"}},{\"field_type\":\"text\",\"data_name\":\"content_type\",\"db_name\":\"content_type\",\"description\":\"Content type\",\"name\":\"content_type\",\"oasis\":{\"name\":\"content_type\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"reference_key\":\"http_1\",\"ui_metadata\":{\"position\":{\"x\":0,\"y\":450}}},{\"block_step_reference_key\":\"loop_over_issues_1\",\"description\":\"Concatenates issue timeline to the accumulated summaries\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"uenum\",\"allowed_values\":[{\"id\":1,\"label\":\"init_variable_1 - issue_summaries\",\"ordinal\":1,\"value\":{\"output_port_name\":\"output\",\"step_reference_key\":\"init_variable_1\",\"variable_name\":\"issue_summaries\"}},{\"id\":2,\"label\":\"loop_over_issues_1 - break\",\"ordinal\":2,\"value\":{\"output_port_name\":\"block_start\",\"step_reference_key\":\"loop_over_issues_1\",\"variable_name\":\"break\"}}],\"data_name\":\"variable\",\"db_name\":\"variable\",\"description\":\"Variable\",\"is_required\":true,\"name\":\"variable\",\"oasis\":{\"name\":\"variable\"},\"ui\":{\"display_name\":\"Variable\"}},{\"field_type\":\"uenum\",\"allowed_values\":[{\"id\":1,\"label\":\"Set Value\",\"ordinal\":1,\"value\":\"set\"},{\"id\":2,\"label\":\"Concatenate\",\"ordinal\":2,\"value\":\"concat\"}],\"data_name\":\"operation\",\"db_name\":\"operation\",\"description\":\"Operation to perform. Defaults to 'Set Value' if not specified.\",\"is_required\":false,\"name\":\"operation\",\"oasis\":{\"name\":\"operation\"},\"ui\":{\"display_name\":\"Operation\"}},{\"field_type\":\"text\",\"data_name\":\"value\",\"db_name\":\"value\",\"description\":\"Value\",\"is_filterable\":false,\"is_required\":true,\"name\":\"value\",\"oasis\":{\"name\":\"value\"},\"ui\":{\"display_name\":\"Value\"}}],\"invalidate_on_field_update\":[\"variable\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"fields\":[{\"name\":\"variable\",\"value\":{\"type\":\"literal\",\"value\":{\"output_port_name\":\"output\",\"step_reference_key\":\"init_variable_1\",\"variable_name\":\"issue_summaries\"}}},{\"name\":\"value\",\"value\":{\"type\":\"text_template\",\"value\":\"\\n\\n---\\nIssue: {% expr $get('loop_over_issues_1', 'block_start').display_id %} - {% expr $get('loop_over_issues_1', 'block_start').title %}\\nStage: {% expr $get('loop_over_issues_1', 'block_start').stage.name %}\\nTimeline Comments:\\n{% expr $get('http_1', 'output').body %}\"}},{\"name\":\"operation\",\"value\":{\"type\":\"literal\",\"value\":\"concat\"}}],\"port_name\":\"input\"}],\"name\":\"Append Issue Timeline\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"set_variable\"},\"output_ports\":[{\"name\":\"output\",\"schema\":{\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"reference_key\":\"set_variable_1\",\"ui_metadata\":{\"position\":{\"x\":0,\"y\":600}}},{\"description\":\"Uses AI to create a consolidated daily digest\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"ai_input\",\"db_name\":\"ai_input\",\"description\":\"The input prompt\",\"is_required\":true,\"name\":\"ai_input\",\"oasis\":{\"name\":\"ai_input\"},\"ui\":{\"display_name\":\"Prompt\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"text\",\"structured\"],\"data_name\":\"output_format\",\"db_name\":\"output_format\",\"default_value\":\"text\",\"description\":\"Output format\",\"name\":\"output_format\",\"oasis\":{\"name\":\"output_format\"},\"ui\":{\"display_name\":\"Output Format\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"Normal (default)\",\"Advanced\"],\"data_name\":\"model\",\"db_name\":\"model\",\"description\":\"Mode\",\"name\":\"model\",\"oasis\":{\"name\":\"model\"},\"ui\":{\"display_name\":\"Mode\"}}],\"invalidate_on_field_update\":[\"output_format\",\"structure\"],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"model\",\"value\":{\"type\":\"literal\",\"value\":\"Normal (default)\"}},{\"name\":\"output_format\",\"value\":{\"type\":\"literal\",\"value\":\"text\"}},{\"name\":\"ai_input\",\"value\":{\"type\":\"text_template\",\"value\":\"You are a project assistant creating a daily issue digest. Below are all the issues with their recent timeline comments.\\n\\n{% expr $get_variable('init_variable_1','issue_summaries',{'output_port_name':'output'}) %}\\n\\nCreate a concise daily digest. For each issue:\\n1. Issue ID and title\\n2. Current status\\n3. Key recent activity - summarize comment threads briefly\\n4. Action needed (if any)\\n\\nKeep each issue summary to 3-4 lines. End with a total count of issues.\"}}]}],\"name\":\"Summarize All Issues\",\"next_steps\":[{\"next_port_name\":\"input\",\"next_step_reference_key\":\"send_notification_1\",\"port_name\":\"output\"}],\"operation\":{\"namespace\":\"devrev\",\"slug\":\"ask_ai\"},\"output_ports\":[{\"name\":\"output\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"ai_output\",\"db_name\":\"ai_output\",\"description\":\"Output string from the AI Action node\",\"name\":\"ai_output\",\"oasis\":{\"name\":\"ai_output\"},\"ui\":{\"display_name\":\"Output String\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"reference_key\":\"ask_ai_1\",\"ui_metadata\":{\"position\":{\"x\":0,\"y\":750}}},{\"description\":\"Sends the consolidated issue digest as a notification\",\"input_ports\":[{\"name\":\"input\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"array\",\"base_type\":\"id\",\"data_name\":\"receivers\",\"db_name\":\"receivers\",\"description\":\"The users or groups who will receive the notification\",\"id_type\":[\"devu\",\"group\"],\"is_required\":true,\"name\":\"receivers\",\"oasis\":{\"name\":\"receivers\"},\"ui\":{\"display_name\":\"Receivers\"}},{\"field_type\":\"rich_text\",\"data_name\":\"body\",\"db_name\":\"body\",\"description\":\"The body of the notification\",\"is_required\":true,\"name\":\"body\",\"oasis\":{\"name\":\"body\"},\"ui\":{\"display_name\":\"Body\"}},{\"field_type\":\"rich_text\",\"data_name\":\"title\",\"db_name\":\"title\",\"description\":\"The title of the notification\",\"is_required\":true,\"name\":\"title\",\"oasis\":{\"name\":\"title\"},\"ui\":{\"display_name\":\"Title\"}},{\"field_type\":\"id\",\"data_name\":\"content_template_id\",\"db_name\":\"content_template_id\",\"description\":\"The content template for the notification\",\"id_type\":[\"notification_content_template\"],\"is_required\":false,\"name\":\"content_template_id\",\"oasis\":{\"name\":\"content_template_id\"},\"ui\":{\"is_hidden\":true}},{\"field_type\":\"id\",\"data_name\":\"linked_object\",\"db_name\":\"linked_object\",\"description\":\"The object which will open on clicking the notification\",\"id_type\":[\"account\",\"capability\",\"enhancement\",\"feature\",\"incident\",\"issue\",\"linkable\",\"opportunity\",\"product\",\"runnable\",\"ticket\",\"conversation\"],\"is_required\":false,\"name\":\"linked_object\",\"oasis\":{\"name\":\"linked_object\"},\"ui\":{\"display_name\":\"Linked Object\"}}],\"type\":\"field_descriptor\"},\"type\":\"default\"}],\"input_values\":[{\"port_name\":\"input\",\"fields\":[{\"name\":\"receivers\",\"value\":{\"type\":\"list_value\",\"value\":{\"items\":[{\"type\":\"literal\",\"value\":[\"REPLACE_WITH_YOUR_USER_DON_ID\"]}]}}},{\"name\":\"title\",\"value\":{\"type\":\"text_template\",\"value\":\"Daily Issue Digest\"}},{\"name\":\"body\",\"value\":{\"type\":\"text_template\",\"value\":\"{% expr $get('ask_ai_1', 'output').ai_output %}\"}}]}],\"name\":\"Send Daily Digest\",\"operation\":{\"namespace\":\"devrev\",\"slug\":\"send_notification\"},\"output_ports\":[{\"name\":\"output\",\"schema\":{},\"type\":\"default\"},{\"name\":\"error\",\"schema\":{\"field_descriptors\":[{\"field_type\":\"text\",\"data_name\":\"message\",\"db_name\":\"message\",\"description\":\"Error message with more details about the error\",\"name\":\"message\",\"oasis\":{\"name\":\"message\"},\"ui\":{\"display_name\":\"Error Message\"}},{\"field_type\":\"enum\",\"allowed_values\":[\"bad_request\",\"not_found\",\"internal\"],\"data_name\":\"type\",\"db_name\":\"type\",\"description\":\"Type of the error\",\"name\":\"type\",\"oasis\":{\"name\":\"type\"},\"ui\":{\"display_name\":\"Error Type\"}}],\"type\":\"field_descriptor\"},\"type\":\"error\"}],\"reference_key\":\"send_notification_1\",\"ui_metadata\":{\"position\":{\"x\":0,\"y\":900}}}],\"title\":\"Daily Issue Digest with Timeline Analysis\"}","templateVersion":"2.0.0"}