Skip to main content

Pipeline Assistant

Written by Mark Kantor
Updated over 11 months ago

πŸ“‚ Category: CRM

This integration helps align pipeline data from Cinode with collaborative notifications in Microsoft Teams, improving project hygiene and stakeholder awareness.


🧩 Purpose & Description

"Configure your rules for up-to-date pipeline projects. User updating a project will get a notification in a private channel in Teams created at runtime."

This integration monitors updates to Cinode projects. If key validation rules fail (e.g., missing or outdated data), the integration sends a notification to a user-specific private Teams channel. Channels are created on demand and users are auto-invited.


πŸ› οΈ Key Components

πŸ”Œ Config Pages

Page Name

Config Vars

Configuration

Microsoft Teams Connection, Cinode Connection

Teams Settings

Team (target team for creating private channels)

Cinode

Pipeline Stages, Rules

πŸŽ› Configurable Rules (via Rules picklist):

  • Estimated Close Date

  • Estimated Value

  • Probability

These determine which fields are validated on project update.


πŸ” Flow: ProjectUpdated

Triggered when a Cinode project is updated:

  1. Trigger: Cinode webhook listens for project changes.

  2. Validation logic (JavaScript):

    • Verifies if project stage is in scope.

    • Checks for:

      • Missing or invalid Estimated Value

      • Missing/obsolete Estimated Close Date

      • Missing or non-numeric Probability

  3. Branch:

    • If validations exist:

      • Extracts user email from event

      • Finds or creates a private channel named cin-{username} in Teams

      • Renders an Adaptive Card listing the missing fields

      • Posts the card to the channel with a link to the Cinode project

    • If no validations: execution is silently stopped.


πŸ” Flow: Find Or Create Channel

This sub-flow handles user-channel management:

  1. Triggered by ProjectUpdated.

  2. Generates channel name from email: cin-{localPart}.

  3. Checks if the channel already exists.

    • If yes β†’ returns channel ID.

    • If no β†’ creates a private channel, then invites the user as a member using the correct @odata.bind format via Graph API.

  4. Returns the channel ID for use by ProjectUpdated.


πŸ’¬ Flow: ChannelMessage

This is a placeholder flow (trigger-only), presumably for future inbound messaging features.


πŸ” Connections Required

Microsoft Teams

Cinode

  • API key–based token for secure project data access


🧠 Behavior Summary

  • Projects in select pipeline stages are validated upon update.

  • If they violate defined rules, the user is notified.

  • A dedicated Teams channel is created per user, named cin-{username}.

  • An adaptive card lists all problematic fields and links directly to the Cinode project.

  • Uses Microsoft Graph API for channel and member management.


πŸš€ Use Case Fit

Ideal for:

  • Sales or delivery teams using Cinode

  • Ensuring project hygiene before key pipeline transitions (e.g., Preliminary β†’ Won)

  • Keeping feedback loops contextual and private inside Microsoft Teams

Did this answer your question?