Skip to main content

    Idea Pipeline

    Filter by idea status

    Filter by product area

    5890 Ideas

    Baidhyuth
    Gainsight Employee ⭐️
    BaidhyuthGainsight Employee ⭐️

    Automating Spam Detection in Gainsight Community with Slack via ZapierClosed (Won't Do)

    Overview :This article explains how to integrate the Gainsight Community with Slack using Zapier to automatically detect and notify your team about potential spam activity.  The automation identifies situations where a user posts multiple times within a short period (for example, more than 5 posts in 10 minutes) and immediately sends an alert to Slack. This enables your team to review and take action quickly, maintaining a clean and engaging community environment.  Prerequisites : Before you begin, ensure you have the following:  A Zapier account  Access to the Gainsight Community API with valid credentials  A Slack workspace with permission to post messages to a channel   Creating the Automation : Step 1: Create a New Zap  Log in to your Zapier account.  Click Create Zap and enter a descriptive name, such as Community Spam Alert to Slack.  Select Code by Zapier to create a custom workflow.  Choose Python as the scripting language to handle API calls and data processing.   Step 2: Configure the Trigger  Set the Trigger Event to Run Python.        Connect to the Gainsight Community API to fetch recent posts.  In the Python script:        Authenticate using your client credentials to obtain an access token.  Retrieve recent posts from the community, including the following content types:  Questions  Conversations  Ideas  For each post, collect details such as:  User ID  Username  Content Type (Question, Conversation, or Idea)  Post Title or Link  Post Creation Time  Published At (for ideas and discussions)  Asked At (for questions)  Group posts by user and calculate the number of posts created in the last 10 minutes.  Identify users exceeding the defined threshold (e.g., more than 5 posts).  For each user that exceeds this limit, include a field in the Python output such as:    spam = true    This will indicate that the user’s activity is flagged as potential spam and should trigger the next step in Zapier.  Return the flagged user details as the Python output.   Step 3: Add a Filter  Add a Filter by Zapier step.              Configure the filter condition to continue only if spam=true.  Since the Python script adds the spam = true field for users who exceed the post threshold, this filter ensures that only flagged spam activity moves to the next step in the workflow. This prevents unnecessary Slack notifications and makes the automation more efficient.  Step 4: Configure Slack Notification  Select Slack as the action app.  Choose Send Channel Message as the action event.  Connect your Slack workspace.        Select or create a dedicated channel (e.g., #community-alerts) for spam notifications.  Customize the Slack message to include:        🚨 Spam Alert!  User: @Prince User ID: 12345  Posts in last 10 minutes:   Please review immediately.    Test the Zap to confirm that messages are sent successfully.   Step 5: Spam Prevention (Moderation)  If a moderator marks a user as Not Spam, the user can continue posting as usual. The automation continues to monitor future activity in real time to detect any new spam. However, when Spam Prevention is enabled, once a moderator marks a post as Not Spam, the system lifts the posting restriction for that user.  During this brief period (approximately one minute), the user can create multiple posts again, which means there is a chance for new spam content to appear before the monitoring logic detects and flags it again. This behavior is expected and ensures that legitimate users are not blocked unnecessarily, while still maintaining continuous spam detection afterward.  Benefits  Instant spam alerts delivered directly in Slack  Reduced moderation time and faster team response  Improved community quality and user trust  Continuous real-time monitoring for proactive spam control   Conclusion By integrating the Gainsight Community with Slack through Zapier, you can automate spam detection, receive instant alerts, and act quickly to maintain a healthy and active community. This simple yet powerful automation ensures that your community remains safe, engaging, and well-moderated at all times. 

    kelly
    kellyHelper ⭐️⭐️⭐️

    Ability to Edit Journey Orchestrator ProgramsReleased

    I continually hear that this is a commonly requested feature but was surprised that there doesn't seem to be a post specific to this topic (searched by Programs and Advanced Outreach) vs the one off requests for individual program functions.  I have to highlight just how frustrating it is that you cannot edit a published Program (save for the schedule and entry criteria). You can't change the query You can't add or remove a step You can't tweak the settings of a Create CTA step (this required duplicating the journey twice to to try a different setting and then remove the step due to the bug) You can't adjust the wait timer You can't modify the conditions on a conditional wait Nearly every single adjustment to a Program requires duplicating it and then tracking historical metrics manually. This is not just an issue with live Programs but with Programs that are built to test. Since it has to be published to run through the test conditions, any corrections are to be made on a duplicated version. The biggest issue I have found regarding this missing functionality is that you lose any 'once in a lifetime'  or re-entry criteria limitations you set on the original journey. Any time we've had to make a little tweak, either due to addressing bugs or actual changes to our flow, has required duplicating the journey (now on our 4th iteration) and we lose that limitation. There is no native way to prevent someone from re-entering the duplicate journeys. The only way I can think to prevent this is to now go back and edit the logic in the query builder filter to exclude any contact that received a specified email in X amount of days...which is a different space/data set task to incorporate and will require a rework of my entire query AND . . . duplicating the journey.