Contextual Skills Inventory

(BASIC) Understanding Flow Editor and Flow Structure

  • UI-1: Navigating the Flow Editor: Familiarity with the workspace, toolbar, and palette.

  • UI-2: Creating and Managing Flows: Understanding how to create, import/export, and organize flows.

(BASIC) Flow Types:

  • FLOW-1: HTTP-Flow: Creating an HTTP-Flow and understanding the structural requirements.

  • FLOW-2: HTTP-Flow: Creating an HTTP-Flow and understanding the structural requirements.

(BASIC) Working with Core Nodes

  • CORE-1: Inject Node: Manually trigger messages to start flows.

  • CORE-2: Debug Node: Display messages and flow output for troubleshooting.

  • CORE-3: Function Node: Writing custom JavaScript code to process message objects.

  • CORE-4: Change Node: Modify properties of the message payload.

  • CORE-5: Switch Node: Implement conditional logic to route messages based on their content.

  • CORE-6: Template Node: Generate dynamic content using templates (e.g., HTML).

(BASIC) Real-Time Monitoring and Logging

  • LOG-1: Log Management (e.g., logtap nodes): Use log nodes to capture real-time flow activity.

  • LOG-2: Log Viewing: Using the Agent log viewer and the central log viewer to view and analyze agent logs messages.

  • LOG-3: Debugging:: Effective testing in the flow editor using log nodes and node.warn or node.error in functions along with the debug pane.

(BASIC) Handling HTTP Requests

  • HTTP-1: HTTP Nodes: Handling incoming requests using HTTP-IN.

  • HTTP-2: HTTP Nodes: Responding to a request using HTTP-RESPONSE.

(BASIC) Managing and Using Data in Messages (msg)

  • MSG-1: Message Structure: Understanding the msg object and its components (payload, topic, headers, etc.).

  • MSG-1A: Understanding the incoming msg structure from triggers (Insert, Update)

  • MSG-1B: Understanding the msg metaData and how it can be used

  • MSG-2: Accessing and Modifying Payloads: Retrieve and manipulate the data within a message.

  • MSG-3: Using Context Variables: Utilize flow and global context to store and share data between nodes.

(BASIC) Error Handling

  • ERROR-1: Try/Catch in Function Nodes: Use JavaScript’s error handling within function nodes.

  • ERROR-2: CATCH Node: Capture and manage errors occurring within the flow.

  • ERROR-3: Logtap Node: Logging events at different levels (debug, info, warn, error) for better tracking and debugging.

(BASIC) Flow Control and Logic

  • CTL-1: Conditional Routing: Direct messages based on conditions using switch and function nodes.

  • CTL-2: Loops and Timers: Implement loops for repeated actions and use delay/timer nodes for time-based logic.

(BASIC) Working with Native Objects

  • NO-1: Creating and editing object-type schemas.

  • NO-2: Native Object Nodes: Create a record using a NO node.

  • NO-3: Native Object Nodes: Get a record using the NO GET node.

  • NO-4: Native Object Nodes: Update a record using a NO PUT node.

  • NO-5: Native Object Nodes: Patch a record using a NO PATCH node.

  • NO-6: Native Object Nodes: Delete a record using a NO DELETE node.

(BASIC) Triggers & Actions

  • TRIGGER-1: POST-INSERT Trigger SendToAgent

  • TRIGGER-2: POST-UPDATE Trigger SendToAgent

  • ACTION-1: Using SendToAgent in an Action

(ADVANCED) Connecting to APIs and Web Services

  • API-1: HTTP Request Node: Make outbound HTTP requests to external APIs.

  • API-2: Processing API Responses: Extract and manipulate data returned from external services.

  • API-3: Handling Authentication: Creating different connection types for use in flows.

(ADVANCED) Advanced Native Objects

  • NO-7: Native Object Nodes: Query for records using a NO SEARCH node.

  • NO-8: Native Object Nodes: Pagination of Query Results

(ADVANCED) Advanced HTTP Request

  • HTTP-3: HTTP Nodes: Using msg properties with HTTP nodes for headers and other parameters

(ADVANCED) Using External Databases

  • DATA-1: Working with Databases: Interact with external databases using relevant nodes (e.g., MySQL, MongoDB).

(ADVANCED) Handling and Processing Events

  • EVT-1: Event-Driven Programming: Trigger flows based on events, such as data changes or external input.

  • EVT-2: Webhooks: Set up flows that respond to external services via webhooks.

(ADVANCED) Using Timers and Scheduling

  • TIMER-1: Inject Node (for time-based actions): Set up flows to trigger at intervals or specific times.

  • TIMER-2: Scheduled Actions:

(ADVANCED) Integrating with IoT Devices

  • IOT-1: MQTT Node: Set up communication with IoT devices using the MQTT protocol.

  • IOT-2: WebSocket Node: Handle real-time communications between client and server.

(ADVANCED) Security and Authentication

  • SEC-1: Securing Flows: Implement flow-level security (e.g., requiring authentication for HTTP endpoints).

  • SEC-2: Handling Authentication Mechanisms: Manage OAuth, API keys, JWT tokens, or basic authentication in flows.

(ADVANCED) Customizing NPM Packages

  • NPM-1: Installing NPM Packages: Understand how to install NPM packages within the Flow Editor to extend functionality, including packages that add new capabilities within function nodes.

  • NPM-2: Requiring NPM Packages in Function Nodes: Learn to use access packages within function nodes to incorporate external NPM modules into flows.

  • NPM-3: Creating a custom Flow image that includes the custom npm packages for use with an Agent.

(ADVANCED) Custom (Contrib) Nodes

  • NODE-1: Installing Custom Nodes: Learn to install custom Flow nodes from the open source community or npm using the flow editor.

  • NODE-2: Creating a custom Flow image that includes the custom npm packages for use with an Agent.

(ADVANCED) Developing Custom Nodes

  • NODE-3: Creating Custom Nodes: Learn the basics of developing custom Flow nodes to meet specific project requirements.

  • NODE-4: Testing and Debugging Custom Nodes: Gain the ability to test and debug custom Flow nodes locally before deploying.

  • NODE-5: Publishing Custom Nodes: Understand the process of publishing custom nodes to the Flow library or npm for others to use.

Last updated

Was this helpful?