LogoLogo
  • Welcome to Rewst
  • Support and Community
    • Rewst support
      • Support priorities
      • Scope of support
      • Discord join and verification
      • Create a ticket via Discord
      • Collecting diagnostics with browser developer tools
      • Find your Rewst instance region
      • Rewst support: Allow write access
    • Cluck University
  • Contact resources
  • Documentation
    • Automations
      • Workflows
        • Workflow builder: How to set up a workflow
        • Task transitions
        • Data aliases
        • Best practices for designing workflows
        • Advanced workflow operations menu
        • Data input and output: Input variables and context variables
        • Option generator workflows
        • Completion handlers and workflow wrappers
        • Boolean logic in Rewst workflows
        • Document with RoboRewsty
      • Forms
        • Build a form with Rewst's Form Builder
        • Embed a form into an iFrame
        • Clone an existing form
        • Conditional fields
        • Form organizational variables
        • Troubleshoot unpacked Crate forms
      • Templates and scripts
      • Actions
        • Core actions
        • Rewst actions
        • Transform actions
          • Add or subtract from DateTime transform action
          • All transform action
          • Any transform action
          • Append with items results transform action
          • Compare dates transform action
          • Convert list to object transform action
          • Convert DateTime to timezone transform action
          • Defang transform action
          • Diff lists transform action
          • Flatten list transform action
          • Generate friendly password transform action
          • Get business days between dates transform action
          • Get DateTime transform action
          • Get days between dates transform action
          • Get list length transform action
          • Get string length transform action
          • Is JSON transform action
          • Map to an attribute within a list transform action
          • Merge lists transform action
          • Parse CSV transform action
          • Parse text to JSON transform action
          • Refang transform action
          • Remove duplicates from list transform action
          • Return element transform action
          • Select attribute transform action
          • Set list field value transform action
          • Set variable transform action
          • Sort transform action
          • Split text transform action
          • Transform list objects transform action
          • Trim variable transform action
        • Workflows actions
      • Triggers
        • Trigger criteria
        • Trigger use cases and examples
          • Customize PSA ticket triggers
          • Use webhook triggers
    • App Builder
      • Get started with App Builder
      • Components
        • Accordion component
        • Button component
        • Container component
        • Chart component
        • Data table component
        • Form component
        • Grid container component
        • Grid item component
        • Header component
        • HTML container component
        • Image component
        • Link component
        • Menu component
        • Row component
        • Sidebar component
        • Text component
        • Workflow input component
      • Prebuilt Apps: Available by request
        • Forms portal
        • End user portal
        • Operational analytics reporting portal
      • Manage your apps
      • Manage your pages
      • Domains
      • Permissions
      • Authentication
      • Themes
      • Page builder
    • Crates
      • Stewart's 30 favorite Crates
      • Production Crate list
      • Migrating between Crate versions
      • Crate deprecation FAQ
      • Individual Crate documentation
        • Ad-Hoc Install/Uninstall Software via Chocolatey Crate
        • Add Client to Rewst Crate
        • Alert on Expiring App Reg Certificates Crate
        • Alert on Expiring App Reg Secrets Crate
        • Amend Mailbox Permissions Crate
        • Billing Count Report Crate
        • Bulk Create Client from PSA Crate
        • Change a User’s Password Crate
        • Configure Organizational Variables
        • ConnectWise PSA Agreement Mapping Crate
        • CWM: Technician Toolbox via Pod Crate
        • Document M365 environment setup
        • Document M365 groups setup
        • Document M365 shared mailboxes setup
        • Document M365 users setup
        • Document Rewst Form URLs (IT Glue/Hudu) Crate
        • Document User Details V2 Crate
        • Export Intune Policies and Configurations Crate
        • Identify Users in Bypass Mode Crate
        • Just in Time Admin Access Crate
        • M365 CSP/GDAP Permission Checker Crate
        • M365: Generate Org Chart Crate
        • Manage Duo Phones Crate
        • Mass Update Org Variables via CSV Crate
        • Microsoft 365 Quarantine Email Release Crate
        • Microsoft: User Onboarding Crate
          • Onboarding Crate process overview
          • Onboarding Identity provider configuration and setup
          • Onboarding form inputs and workflow process
          • Expanded features and customizing the Onboarding Crate
          • Onboarding context and organizational variables reference
          • Test and troubleshoot the Onboarding crate
        • New user onboarding Crate
          • Identity provider setup - new user add
          • Step 1: Setting up organization variables
          • Step 2: New user onboarding form
          • Step 3: New user onboarding form minimalistic
        • Notify on Conditional Access Policy Changes Crate
        • OpenAI ticket categorization
        • OpenAI ticket sentiment
        • Remove Malicious Email and Block Sender Crate
        • Triage SentinelOne Threat Alerts Crate
        • User Offboarding V2 Crate
        • View Rewst integration Org Variables
    • Configuration
      • Integrations
        • Individual integration documentation
          • Accounting integrations
            • Stripe integration
            • QuickBooks Online integration
            • Xero integration
          • AI integrations
            • Anthropic integration
            • OpenAI
              • OpenAI integration
              • Azure OpenAI integration setup
          • Chat integrations
            • Slack integration
            • Discord integration
          • Cloud integrations
            • Google admin
              • Google Enterprise License Manager integration setup
              • Google Workspace Admin integration setup
            • Nerdio integration
            • Microsoft Cloud integration bundle
              • Prerequisites and best practices for Microsoft integrations
              • Owned app registration
              • Migrating legacy Microsoft integrations
              • Microsoft Azure
                • Microsoft Azure integration setup
                • Azure actions
              • Microsoft Graph
                • Microsoft Graph integration setup
                • Graph actions
                • Graph subscriptions
                • Send mail as an impersonated user using Microsoft Graph API
              • Microsoft CSP
                • Microsoft CSP integration setup
                • Rewst user setup and GDAP relationship guidance
                • Add a new client via Microsoft Cloud Solution Provider
              • Microsoft Exchange Online
                • Microsoft Exchange Online
                • Exchange Online and multi-property values
              • Microsoft Cloud permissions
              • Common issues with the Microsoft Cloud integration bundle
                • Embracing the Microsoft Minute
                • Troubleshooting installation issues
                • Graph error when using Sendmail as impersonated user
                • Navigating the Microsoft-led transition to GDAP (2023)
              • Managing groups: Microsoft Graph vs. Exchange Online
          • CRM integrations
            • HubSpot integration
          • DNS integrations
            • DNSFilter integration
            • GoDaddy integration
          • Database integrations
            • Database integration setup
            • BYOD for options generators
          • Documentation integrations
            • Hudu integration
            • IT Glue integration
            • ITPortal integration
            • JumpCloud integration
            • Jira integration
            • Notion integration
            • SyncMonkey integration
          • Email security integrations
            • Proofpoint integration
          • HRIS integrations
            • BambooHR integration
          • IAM integrations
            • Okta integration setup
          • Licensing integrations
            • Ingram Micro integration setup
            • Pax8 integration
            • Sherweb integration
            • TD Synnex Stellr integration
            • Synnex Australia integration
          • Mail integrations
            • Mailgun integration setup
          • MFA integrations
            • Duo integration setup
          • Project management integrations
            • Asana integration
            • Shortcut integration
          • PSA integrations
            • ConnectWise PSA integration
            • Datto Autotask PSA integration
            • Freshdesk integration
            • HaloPSA integration
            • Kaseya BMS integration
            • ServiceNow integration
            • SuperOps integration
          • RMM integrations
            • Addigy integration
            • Auvik integration
            • ConnectWise Automate integration
            • ConnectWise ScreenConnect integration
            • Datto RMM integration
            • ImmyBot integration
            • Kaseya
              • Kaseya VSA integration
              • Kaseya VSA X integration
            • N-able N-central integration
            • N-able N-sight integration
            • NinjaOne integration
          • Security integrations
            • Acronis integration
            • Bitdefender GravityZone integration
            • Cisco Meraki integration
            • Cork integration
            • Cove integration
            • CrowdStrike integration
            • ConnectSecure (CyberCNS)
              • ConnectSecure integration setup
              • ConnectSecure integration migration: V3 to V4
            • Huntress integration
            • Liongard integration
            • Nodeware integration
            • SaaS Alerts integration
            • SentinelOne integration
            • Slide integration
            • Sophos integration
            • SonicWall NSM integration
            • Traceless integration
            • Webroot integration
          • Version control integrations
            • GitHub integration
          • VoIP and SMS integrations
            • Twilio integration setup
        • Multi-instance integration
          • Multi-instance integration setup
          • Integrate multiple instances of the same integration
        • Custom integrations
          • Custom integrations: V2
          • Custom integrations: V1
      • Organizations and organization variables
    • Rewst Tools
      • The Live Editor
      • PowerShell interpreter
    • Settings
      • Users
      • Organizations
      • Permissions and roles
      • Tags
    • Jinja
      • Intro to Jinja
      • Jinja essentials
      • Data types
      • List of Jinja filters
      • Jinja filter examples
      • Common Jinja examples
        • Conditional statements and logical operators
        • Jinja macros
        • Date-time comparisons
        • Block scope
        • Try/catch blocks
        • Generate CSVs dynamically with Jinja
        • Split strings, replace characters, and combine strings
        • Dictionary unpacking
        • Loops in Jinja
        • Mimick switch statements in Jinja
      • Jinja use cases and best practices
        • Work with Jinja lists
        • Combine Jinja lists
        • Jinja reserved keywords
        • Collect CTX variables dynamically using Jinja
        • Efficiently extract nested data
      • Internal Rewst Jinja examples
    • Agent Smith
      • Agent Smith configuration overview
      • Deploy Agent Smith with ImmyBot
      • Deploy Agent Smith with Microsoft Intune
  • Security
    • Incoming and outgoing domains and IPs
  • Updates
    • Rewst Open Mic
      • Sign up to present at any Open Mic
      • Rewst Open Mics: North America
        • 2025 Rewst Open Mics: North America
          • April 25, 2025: From Guesswork to Gold – Automating Client Profitability with Precision
          • April 11, 2025:
          • April 4, 2025: Powershell in Rewst Preview
          • March 28, 2025: How Little Changes and Small Updates Bring BIG Value
          • March 21, 2025: Showing the First Workflow We Ever Made
          • March 14, 2025: An M365 Special! Workflows that Focus on Microsoft 365!
          • March 7, 2025: Microsoft Now Auditing P1 Licenses Usage
          • February 28, 2025: Cleanup Your Stale Devices with This Automation
          • February 21, 2025: Live from Right of Boom 2025, It's the Weekly ROC Open Mic!
          • February 14, 2025: Valentine's Day Edition
          • February 7, 2025: It's Official! Rewst Now Supports Agent Smith!
          • January 31, 2025: Aharon has some big news about platform improvments
          • January 24, 2025: Migration & compliance workflows... What's the cluck about powershell?
          • January 17, 2025: Cloudflare, Compliance, and Pro Tips
          • January 10, 2025: Simple Automation Demos, Device Lookups, and Payment Notificaitons
          • January 3, 2025: Pax8 OAuth, Connecting Multiple Products, GitHub Challenges
        • 2024 Rewst Open Mics: North America
          • December 27, 2024: Aharon Intro Quiz, Workflow Hacks, GraphQL Insights
          • December 20, 2024: MFA Updates, Onboarding, Vehicle Status & Bookings
          • December 13, 2024: JIT Crates, Faster Debugging, and API Wins
          • December 6, 2024: Mastering Patch Management, Budget Alerts, and Ticket Assignments
          • November 28, 2024 - How Listening to Your Workflows Can Improve Your Automations
          • November 22, 2024 - Efficiency Boosts, Password Insights, and D&D
          • November 15, 2024 - Mark Your Calendars for June 24 - June 26, 2025
          • November 8, 2024 - Live from ITNation 2024, it's the Open Mic!
          • November 1, 2024 - Free Remote Control by Automating RustDesk
          • October 25, 2024 - Oh? See What Just Hatched!
          • October 18, 2024 - The Teams Bot That Does Literally Everything
          • October 11, 2024 - Unlock Hidden Azure AD Data with this GENIUS Workflow Trick
          • October 4, 2024 - When This Integration Tells Rewst To Do Things For It
          • September 27, 2024 - 3 Examples of Automations that Help with Ticket Management
          • September 20, 2024 - How to Help The ROC Help You
          • September 13, 2024 - See How to Seamless Sync Calendly Events and Tickets with Rewst
          • September 6, 2024 - See This Custom Cloud Backup Integration Implemented in Rewst
          • August 30, 2024 - The Automation Rewst Uses to Introduce New Employees
          • August 23, 2024 - Build Workflows With Your Friends With This Upcoming Feature
          • August 16, 2024 - The Behind the Scenes of CyberDrain's CTF
          • August 9, 2024 - Aharon Makes a Huge Announcement
          • August 2, 2024 - Provision the Entire Microsoft Teams Bot Framework with a Single Form
          • July 26, 2024 - Transform Your ConnectWise Experience with App Platform
          • July 19, 2024 - What Everyday Life Can Teach Us About Automation
          • July 12, 2024 - We've Been Trying to Reach You Regarding Your Device's Extended Warranty
          • July 5, 2024 - Freedom to Innovate Day!
          • June 28, 2024 - Still Wondering About the Token from FLOW?
          • June 21, 2024 - Post FLOW Glow
          • June 14, 2024 - The One Trick That Boosts Your Screen Share Experience in Teams by 10X
          • June 7, 2024 - Discover the Lessons Your Workflows are Trying to Teach You
          • May 31, 2024 - Simplify Organization Variables by 10X With This 1 Trick
          • May 24, 2024 - ImmyBot + Rewst = Better Together
          • May 17, 2024 - Solve All Your Meal Prep Problems With This Automation
          • May 10, 2024 - The Most Requested Integration has Finally Been Added to Rewst
          • May 3, 2024 - The Flow Announcement that Made Our Marketing Team Nervous
          • April 26, 2024 - Come See What Pizza's Cooked Up
          • April 19, 2024 - Bring Back Negative Time Savings or Implement Folders?
          • April 12, 2024 - Hey Siri, Make a Ticket! Alexa, Close My Ticket
          • April 5, 2024 - The Microsoft Bundle You Can't Miss Out On
          • March 22, 2024 - App Platform Maddness
          • March 15, 2024 - What to Automate First When Getting Started with Rewst?
          • March 8, 2024 - Live from Right of Boom, it's the ROC Open Mic
          • March 1, 2024 - Early Bird Specials for Flow in the Kewp
          • February 23, 2024 - Pardon My Jinja
          • February 16, 2024 - Pizza's Cooking in the Oven
          • February 9, 2024 - Becoming a Jinja Ninja with the New Live Editor
          • February 2, 2024 - Inside the Eye of the Brainstrom
          • January 26, 2024 - New Feature On the Horizon + App Platform Demos
          • January 19, 2024 - Beta Features, Webhooks, and a Journey through Workflow Creation
          • January 12, 2024 - Alpha App Platform Demos
          • January 5, 2024 - Happy New Year! Azure Tables and GDAP Troubleshooting
        • 2023 Rewst Open Mics: North America
          • January 6, 2023 - Capacity Alert - Your Inbox is at 99%
          • January 13, 2023 - Form Management, Asset Management and Tag Management
          • January 20, 2023 - Backend Re-Architecture Episode II - Attack of the Clones
          • January 27, 2023 - Rewst User Creation Inception and Automating Package Deliveries
          • February 3, 2023 - AI generated diagnostics!
          • February 10, 2023 - Todays Description Brought to You by ChatGPT
          • February 17, 2023 - Trigger Review and QA
          • February 24, 2023 - NC20 and R0C2 Show Off Auvik Integration and Workflows
          • March 3, 2023 - New Webhooks, Tracking Steam Deals, and Templates? Oh my!
          • March 10, 2023 - Get those workflows in line
          • March 17, 2023 - Email tracking, workflow listening and URL parametering
          • March 24, 2023 - The Truly Open Mic - Coming back from the Onsite
          • March 31, 2023 - All Hail King Brandon (from eTop)
          • April 7, 2023 - Tech Talk - GitHub, Azure OpenAI, and Improving User Experience
          • April 14, 2023 - Introducing Cluck U!
          • April 21, 2023 - [Redacted] and Custom Integrations
          • April 28, 2023 - Tools and Techniques for Streamlining Workflows and Building Relationships
          • May 5, 2023 - New Integrations, Epic Workflows, and Exciting things to come!
          • May 12, 2023 - The Legend of Rewst - Unsupported Custom Integrations (and more!)
          • May 19, 2023 - Custom Integrations are live and Custom Workflows from Customers and Partner Service
          • May 26, 2023 - Automation and Terrifying Space Chickens
          • June 2, 2023 - New Beginnings and Saving time with Rewst
          • June 9, 2023 - Automation Doesn't Have To Be Like Pulling Teeth
          • June 23, 2023 - Will The Real Aharon Chernin Please Stand Up?
          • June 16, 2023 - The Toasted Kelvin and Brandon Brandwich
          • June 30, 2023 - No Brandwich But It's Still Chowtime
          • July 7, 2023 - Fowl Play with OpenAI and Azure OpenAI
          • July 14, 2023 - Go Hug Your IT Person
          • July 21, 2023 - Transform(er)s – Jinja in Disguise
          • July 28, 2023 - Who's that Docu-mon? It's GitBook!
          • August 4, 2023 - Aharon on a Plane
          • August 11, 2023 - If You Smell What the ROC is Cooking
          • August 18, 2023 - Info Nuggets and Jinja Burgers
          • August 25, 2023 - Looks like Brandwich's Back On the Menu
          • September 1, 2023 - Applying Cube Rules of Food to Automations
          • September 8, 2023 - Special Guest Automation from Down Under
          • September 15, 2023 - If You Smell What The ROC Is Cooking Pt.2
          • September 22, 2023 - Efficient Onboarding, Custom Integrations, and SQL Magic
          • September 29, 2023 - No Microtransactions with These New Crates
          • October 6, 2023 - MFA Buffet
          • October 13, 2023 - Mail Tracking, Error Handling, and Onsite Requests
          • October 20, 2023 - Sophos Firmware Updates, CSP Connectors, and GDAP Documentation Workflows
          • October 27, 2023 - Rewst API w/ Webhooks, Email Signatures, Content Filters, and Secret Santa
          • November 3, 2023 - Huge Rewst Announcements You Can’t Miss Out On
          • November 17, 2023 - Domo Arigato, Rewsty Roboto
          • December 1, 2023 - App Platform, Ticket Generation, and Custom Integrations
          • December 8, 2023 - Never Send a Human to Do a Machine's Job
          • December 15, 2023 - Compromised Users, Automated Documentation, and Troubleshooting Errors
          • December 22, 2023 - Simply Having a Wonderful Rewsty Time
          • December 29, 2023 - Last Open Mic of 2023!
          • July 14, 2023 - Go Hug Your IT Person
          • November 24, 2023 - Thanksgiving Edition, Canadian Takeover
        • 2022 Rewst Open Mics: North America
          • May 27, 2022 - Graph API
          • June 3, 2022 - Connectwise Pods
          • June 10, 2022 - Interactive Teams Messages
          • June 24, 2022 - The Rewst Crate Marketplace
          • June 17, 2022 - How to use Jinja in Rewst
          • July 1, 2022 - Leaping and Looping through your data
          • July 8, 2022 - New ways to deal with data and client example workflows!
          • July 15, 2022 - The Rewst platform and how to use DateTime comparisons in Jinja
          • July 22, 2022 - How can you utilise webhooks in Rewst?
          • July 29, 2022 - How do you know that the person on the phone is who they say?
          • August 5, 2022 - SUPER AWESOME NEW FEATURE!
          • August 12, 2022 - New Results Page
          • August 19, 2022 - Friendly Password Generator & ROC Assistance
          • August 26, 2022 - Data retention & Cron Jobs
          • September 2, 2022 - Debugging Workflows
          • September 9, 2022 - Microsoft 365 Delegation
          • September 16, 2022 - Immybot & Parse ticket data
          • September 23, 2022 - Context Switching
          • October 7, 2022 - ConnectWise Manage Agreement Sync
          • October 14, 2022 - QOL Changes & With Items Walkthrough
          • October 21, 2022 - Bring! Your! Own! Database!
          • October 28, 2022 - ImmyBot & User Offboarding
          • November 4, 2022 - Your Workflows are Listening 👀
          • November 18, 2022 - Jinja Conditions in Templates / Scripts
          • December 2, 2022 - Using custom HTTP requests (HaveIBeenPwned) with your existing integrations
          • December 9, 2022 - Jinja expansion. Plus, Mendy & Jared!
          • December 16, 2022 - Tackle tough ticket triage troubles and flatten funkily formatted lists
      • Rewst Open Mics: Europe
        • 2025 Rewst Open Mics: Europe
          • April 3, 2025: The Very First EU Open Mic!
      • ROC Open Mics: Oceania
        • 2025 Rewst Open Mics: Oceania
          • April 4, 2025: The Very First ANZ Open Mic!
    • Development updates
      • 2025 Dev updates
        • May 9, 2025 - Dev update
        • May 2, 2025 - Dev update
        • April 25, 2025 - Dev update
        • April 18, 2025 - Dev update
        • April 11, 2025 - Dev update
        • April 4, 2025 - Dev update
        • March 28, 2025 - Dev update
        • March 21, 2025 - Dev update
        • March 14, 2025 - Dev update
        • February 28, 2025 - Dev update
        • February 21, 2025 - Dev update
        • February 14, 2025 - Dev update
        • February 7, 2025 - Dev update
        • January 24, 2025 - Dev update
        • January 17, 2025 - Dev update
        • January 10, 2025 - Dev update
      • 2024 Dev updates
        • December 27, 2024 - Dev update
        • December 20, 2024 - Dev update
        • December 13, 2024 - Dev update
        • December 6, 2024 - Dev update
        • November 29, 2024 - Dev update
        • November 8, 2024 - Dev Update
        • October 25, 2024 - Dev Update
        • October 18, 2024 - Dev Update
        • October 11, 2024 - Dev Update
        • October 4, 2024 - Dev Update
        • September 27, 2024 - Dev Update
        • September 13, 2024 - Dev Update
        • September 6, 2024 - Dev Update
        • August 30, 2024 - Dev Update
        • August 23, 2024 - Dev Update
        • August 16, 2024 - Dev Update
        • August 9, 2024 - Dev Update
          • August 2, 2024 - Dev Update
        • July 26, 2024 - Dev Update
        • July 19, 2024 - Dev Update
        • July 12, 2024 - Dev Update
        • July 5, 2024 - Dev Update
        • June 28, 2024 - Dev Update
        • June 14, 2024 - Dev Update
        • June 7, 2024 - Dev Update
        • May 31, 2024 - Dev Update
        • May 24, 2024 - Dev Update
        • May 17, 2024 - Dev Update
        • May 10, 2024 - Dev Update
        • May 3, 2024 - Dev Update
        • April 26, 2024 - Dev Update
        • April 19, 2024 - Dev Update
        • April 12, 2024 - Dev Update
        • April 5, 2024 - Dev Update
        • March 22, 2024 - Dev Update
        • March 8, 2024 - Dev Update
        • March 1, 2024 - Dev Update
        • February 23, 2024 - Dev Update
        • February 16, 2024 - Dev Update
        • February 9, 2024 - Dev Update
        • February 2, 2024 - Dev Update
        • January 19, 2024 - Dev Update
        • January 12, 2024 - Dev Update
        • January 5, 2024 - Dev Update
      • 2023 Dev updates
        • December 29, 2023 - Dev Update
        • December 22, 2023 - Dev Update
        • December 15, 2023 - Dev Update
        • December 8, 2023 - Dev Update
        • December 1, 2023 - Dev Update
        • November 17, 2023 - Dev Update
        • November 3, 2023 - Dev Update
        • October 27, 2023 - Dev Update
        • October 20, 2023 - Dev Update
        • October 13, 2023 - Dev Update
        • October 6, 2023 - Dev Update
        • September 29, 2023 - Dev Update
        • September 22, 2023 - Dev Update
        • September 8, 2023 - Dev Update
        • September 1, 2023 - Dev Update
        • August 25, 2023 - Dev Update
        • August 18, 2023 - Dev Update
        • August 11, 2023 - Dev Update
        • August 4, 2023 - Dev Update
        • July 28, 2023 - Dev Update
        • July 21, 2023 - Dev Update
        • July 14, 2023 - Dev Update
        • July 7, 2023 - Dev Update
        • June 30, 2023 - Dev Update
        • June 23, 2023 - Dev Update
        • June 16, 2023 - Dev Update
        • June 9, 2023 - Dev Update
        • June 2, 2023 - Dev Update
        • May 26, 2023 - Dev Update
        • May 19, 2023 - Dev Update
        • May 12, 2023 - Dev Update
        • May 5, 2023 - Dev Update
        • April 28, 2023 - Dev Update
        • April 21, 2023 - Dev Update
        • April 14, 2023 - Dev Update
        • March 31, 2023 - Dev Update
        • March 17, 2023 - Dev Update
        • March 10, 2023 - Dev Update
        • March 3, 2023 - Dev Update
        • February 24, 2023 - Dev Update
        • February 17, 2023 - Dev Update
        • February 10, 2023 - Dev Update
        • February 3, 2023 - Dev Update
        • January 27, 2023 - Dev Update
        • January 20, 2023 - Dev Update
        • January 13, 2023 - Dev Update
        • January 6, 2023 - Dev Update
      • 2022 Dev updates
        • December 16, 2022 - Dev Update
        • December 9, 2022 - Dev Update
        • December 2, 2022 - Dev Update
        • November 18, 2022 - Dev Update
        • November 4, 2022 - Dev Update
        • October 28, 2022 - Dev Update
    • Training updates
      • 2025 Training updates
        • May 9, 2025 - Training update
        • May 2, 2025 - Training update
        • April 25, 2025 - Training update
        • April 11, 2025 - Training update
        • April 4, 2025 - Training update
        • March 28, 2025 - Training update
        • March 21, 2025 - Training update
        • March 14, 2025 - Training update
        • March 7, 2025 - Training update
        • February 28, 2025 - Training update
        • February 21, 2025 - Training update
        • February 14, 2025 - Training update
        • February 7, 2025 - Training update
        • January 31, 2025 - Training update
        • January 17, 2025 - Training update
        • January 10, 2025 - Training update
        • January 3, 2025 - Training update
      • 2024 Training updates
        • December 20, 2024 - Training Update
        • December 13, 2024 - Training Update
        • December 6, 2024 - Training Update
        • November 22, 2024 - Training Update
        • November 15, 2024 - Training Update
        • November 8, 2024 - Training Update
        • November 1, 2024 - Training Update
        • October 25, 2024 - Training Update
        • October 18, 2024 - Training Update
        • October 11, 2024 - Training Update
        • October 4, 2024 - Training Update
        • September 27, 2024 - Training Update
        • September 20, 2024 - Training Update
        • September 13, 2024 - Training Update
        • September 6, 2024 - Training Update
        • August 30, 2024 - Training Update
        • August 23, 2024 - Training Update
        • August 16, 2024 - Training Update
        • August 9, 2024 - Training Update
        • August 2, 2024 - Training Update
        • July 26, 2024 - Training Update
        • July 19, 2024 - Training Update
        • July 12, 2024 - Training Update
        • June 28, 2024 - Training Update
        • June 14, 2024 - Training Update
        • June 7, 2024 - Training Update
        • May 31, 2024 - Training Update
        • May 24, 2024 - Training Update
        • May 17, 2024 - Training Update
        • May 10, 2024 - Training Update
        • May 3, 2024 - Training Update
        • April 26, 2024 - Training Update
        • April 19, 2024 - Training Update
        • April 12, 2024 - Training Update
        • April 5, 2024 - Training Update
        • March 22, 2024 - Training Update
        • March 15, 2024 - Training Update
        • March 8, 2024 - Training Update
        • March 1, 2024 - Training Update
        • February 23, 2024 - Training Update
        • February 16, 2024 - Training Update
        • February 9, 2024 - Training Update
        • February 2, 2024 - Training Update
        • January 19, 2024 - Training Update
        • January 12, 2024 - Training Update
        • January 5, 2024 - Training Update
      • 2023 Training updates
        • December 15, 2023 - Training Update
        • December 8, 2023 - Training Update
        • December 1, 2023 - Training Update
        • November 24, 2023 - Training Update
        • November 17, 2023 - Training Update
        • November 3, 2023 - Training Update
        • October 27, 2023 - Training Update
        • October 20, 2023 - Training Update
        • October 13, 2023 - Training Update
        • October 6, 2023 - Training Update
        • September 29, 2023 - Training Update
        • September 22, 2023 - Training Update
        • September 15, 2023 - Training Update
        • September 8, 2023 - Training Update
        • September 1, 2023 - Training Update
        • August 25, 2023 - Training Update
        • August 18, 2023 - Training Update
        • August 11, 2023 - Training Update
        • August 4, 2023 - Training Update
        • July 21, 2023 - Training Update
        • July 14, 2023 - Training Update
        • July 7, 2023 - Training Update
        • June 30, 2023 - Training Update
        • June 23, 2023 - Training Update
        • June 16, 2023 - Training Update
        • June 9, 2023 - Training Update
        • June 2, 2023 - Training Update
        • May 26, 2023 - Training Update
        • May 19, 2023 - Training Update
        • May 12, 2023 - Training Update
        • May 5, 2023 - Training Update
        • April 28, 2023 - Training Update
        • March 17, 2023 - Training Update
        • March 10, 2023 - Training Update
        • January 27, 2023 - Training Update
        • January 13, 2023 - Training Update
        • January 6, 2023 - Training Update
        • July 28, 2023 - Training Update
      • 2022 Training updates
        • December 16, 2022 - Training Update
        • December 2, 2022 - Training Update
        • November 18, 2022 - Training Update
        • November 4, 2022 - Training Update
        • October 28, 2022 - Training Update
        • November 4, 2022 - Training Update
        • October 28, 2022 - Training Update
    • Crate Marketplace updates
      • 2025 Crate Marketplace updates
        • May 9th, 2025 - Marketplace Update
        • May 2nd, 2025 - Marketplace Update
        • April 25th, 2025 - Marketplace Update
        • April 11th, 2025 - Marketplace Update
        • April 4th, 2025 - Marketplace Update
        • March 28th, 2025 - Marketplace Update
        • March 14th, 2025 - Marketplace Update
        • February 28th, 2025 - Marketplace Update
        • February 21st, 2025 - Marketplace Update
        • February 14th, 2025 - Marketplace Update
        • February 7th, 2025 - Marketplace Update
        • January 31st, 2025 - Marketplace Update
        • January 17th, 2025 - Marketplace Update
        • January 10th, 2025 - Marketplace Update
        • January 3rd, 2025 - Marketplace Update
      • 2024 Crate Marketplace updates
        • December 20th, 2024 - Marketplace Update
        • December 13th, 2024 - Marketplace Update
        • December 6th, 2024 - Marketplace Update
        • November 29th, 2024 - Marketplace Update
        • November 22nd, 2024 - Marketplace Update
        • November 15th, 2024 - Marketplace Update
        • November 8th, 2024 - Marketplace Update
        • November 1st, 2024 - Marketplace Update
        • October 25th, 2024 - Marketplace Update
        • October 18th, 2024 - Marketplace Update
        • October 11th, 2024 - Marketplace Update
        • October 4th, 2024 - Marketplace Update
        • September 27th, 2024 - Marketplace Update
        • September 20th, 2024 - Marketplace Update
        • September 13th, 2024 - Marketplace Update
        • September 6th, 2024 - Marketplace Update
        • August 30th, 2024 - Marketplace Update
        • August 23rd, 2024 - Marketplace Update
        • August 16th, 2024 - Marketplace Update
        • August 2nd, 2024 - Marketplace Update
        • July 26th, 2024 - Marketplace Update
        • July 19th, 2024 - Marketplace Update
        • July 12th, 2024 - Marketplace Update
        • July 5th, 2024 - Marketplace Update
        • June 28th, 2024 - Marketplace Update
        • June 21st, 2024 - Marketplace Update
        • June 14th, 2024 - Marketplace Update
        • June 7th, 2024 - Marketplace Update
        • May 31st 2024 - Marketplace Update
    • App Builder AMAs
      • 2025 App Builder AMAs
        • Mar 5, 2025: A New Project Manager Has Appeared
        • Feb 19, 2025: A Custom Customer Portal and Making Rewst inside of Rewst
        • Feb 5, 2025: Rewst App Builder updates + live demo of new options filter
        • Jan 8, 2025: Portals, Features, Design Updates, and Future Plans
      • 2024 App Builder AMAs
        • Nov 27, 2024: Workflow management in App Builder, plus permissions and role-based access
        • Nov 13, 2024: Cloning, app Crates, syncing custom components, and app list page enhancements
        • Oct 30, 2024: App Builder team progress, meet Sarah, and import and export features
        • Oct 16, 2024: Client portal use cases
        • Oct 2, 2024: New client onboarding, high ticket listing
        • Sept 18, 2024: Our first App Builder AMA
    • Alerts
  • Terms and Definitions
    • Glossary of terms
Powered by GitBook

Follow

  • 🤖 GitHub

Get support

  • 👾 Discord

Request a feature

  • 💡 Canny

© 2025 Rewst

On this page

Was this helpful?

Edit on GitHub

Last updated 3 days ago

Was this helpful?

Microsoft integrations, such as those with Microsoft CSP, Microsoft Graph, or Microsoft Exchange Online, are among the most intricate and complex due to the diversity of products and services involved. Each has slightly different authentication endpoints and required permissions. This guide serves as a comprehensive resource for common problems that may arise during integration.

Microsoft CSP Authentication Errors

Error Message: Forbidden (403), MFA Required (401)

  • Cause: Often related to Multi-Factor Authentication (MFA). Absence of MFA, incorrect MFA configuration, or unsupported third-party MFA provider.

  • Requirements: Microsoft mandates the use of the StrongAuthClaim method in MFA requests, confirming additional security checks beyond username and password.

  • Potential Resolutions:

    1. Enable MFA with StrongAuthClaim: Make sure the user account for Microsoft CSP integration has MFA enabled using the StrongAuthClaim method (usually with Microsoft MFA).

    2. Confirm MFA at Sign-In: If using Microsoft MFA and encountering errors, ensure MFA confirmation at sign-in. Try incognito browsing or sign out and back in if needed.

    3. Create a Dedicated User Account: Recommended for Microsoft CSP integration with specific requirements (e.g., Global Administrator permissions, MFA with StrongAuthClaim, AdminAgents role added in Partner Center to enable API access).

Duo / Third Party MFA Notice: Duo MFA was removed from Microsoft's supported list in 2022. Users must switch to Microsoft MFA to comply with requirements. See

Client Error: 400 (Bad Request)

Client error 400 Bad Request means there's an issue with the request. It's most likely that an incorrect value is being sent. Please verify the correctness of the values in the request.

When in the context of authorizing the Microsoft Cloud Bundle this error can sometimes be related to Conditional Access policies. Either on the MSP tenant (if failing to authorize) or on the customer tenant (when performing CPV consent aka clicking the blue shield).

If the issue is during the initial authorization then it is important to check your conditional access policies and modify them to either exclude the user used to authorize the integration (typically the Rewst@ user) or to address the conflict (as an example, limiting access by location).

If the issue is during CPV consent of a customer then you will need to check the customer's conditional access policies and modify them to exclude the service provider tenant or address the conflict (example from above could apply).

For more information please see the authorization best practices documentation located

Entra UI Pagination and Permissions Display Issues

We've identified a recurring issue within the Entra UI concerning the inconsistent permissions display on the Enterprise App Permissions page. Users may encounter situations where the permissions are either fully paginated and visible or not all permissions are displayed as expected.

Incomplete Display of Permissions

If what you see resembles the screenshot below, it indicates that not all permissions are being displayed. In such cases, the seemingly absent permissions are assigned but not visible due to a limitation within the UI. This known issue stems from a bug on Microsoft's end, which unfortunately is beyond our ability to directly resolve. For visibility into the complete set of permissions under these circumstances, using the API is the recommended approach.

Complete Display of Permissions

If your Entra UI matches the below screenshot, this suggests that all permissions are being properly shown. So if any are missing, they are actually missing. Should there be any unexpected permissions missing in this scenario, it likely points to an bug or failure in the permissions assignment process on the Rewst side.

Consent to Client Permissions

  • Error Context: Pertains to errors when consenting on a client (e.g., green shield button on CSP/Graph/EXO integration table).

  • About GDAP:

    • Purpose: GDAP enables fine-grained control over tenant access, allowing the creation of groups in your MSP tenant, assignment of permissions, and user allocation.

    • Example: Create specific groups like "Standard M365 Clients - Exchange Administrator" or "Strict M365 Clients - Exchange Administrator" to manage access levels across different clients.

  • Rewst's Role: Since Rewst can interact with various endpoints, the correct permissions in both your tenant and client tenant are essential.

  • Potential Resolution:

    1. Understand and Implement GDAP: Utilize GDAP to create groups and assign permissions, ensuring compliance with your security policies.

Task Level Permissions for Microsoft Graph & Exchange Online

  • Error Message: Access Denied - HTTP Status code 403

  • Root Cause: Most commonly related to a misunderstanding of Application vs. Delegated permissions within Microsoft Graph Integration.

    • Application Permissions: Granted to applications, not tied to users. Allows access to data without user consent.

    • Delegated Permissions: Tied to specific users, requiring their consent for data access.

  • Microsoft's Direction: Microsoft is shifting from Application permissions to Delegated permissions for security reasons. Application permissions lack an audit trail, hiding who accessed data and when. They also allow Microsoft Partners to have a tenant in their organization without the client's awareness.

  • Relevance to Tasks:

    • User Permissions: For user-related endpoints, such as reading calendar items, or sending mail as a user, the authenticating account must have the necessary permissions.

    • Example: To send as SendfromMe@rewstdemo.com via Rewst, ensure Rewst-Service Account has Send As permission on the SendfromMe account.

If you have a user in your tenant that needs permissions within a client tenant (e.g., to a mailbox, SharePoint site, etc.), granting those permissions directly to your user wont be possible due to the users belonging to different tenants. In this case, instead of using an integration override for that workflow, consider configuring the integration under that client's organization directly.

Handling CSP Delegated Permissions Errors

  • Error Message & Context: Request_BadRequest, Unsupported token. Unable to initialize the authorization context. This manifests as a "Bad Request" error when making calls to Graph, despite seemingly correct integration and tenant delegation credentials.

  • Suspected Cause: The error may stem from a cached token or from the integration being authorized prior to setting the checkbox for CSP delegation in CSP, Graph, or Exchange Online.

  • Potential Resolution:

    1. Uninstall and Reinstall CSP Integration: Go to CSP integration, click "Uninstall," wait, then click "Install."

    2. Repeat for Other Integrations: Follow steps 1-2 for Exchange Online and Graph, checking Use CSP Delegated Consent before authorizing.

    3. Re-Consent on Behalf of Managed Tenants: Return to CSP integration and click the green shield to re-consent.

Additional CSP Error Troubleshooting

This section lists some of the most common errors. For each error, specific steps and guidelines are available to understand the cause and find the right solution. Click on your issue to expand the section and see suggested solutions.

Request not applicable to target tenant

This error is mainly seen around security tasks and is likely due to a missing license such as M365 BP or Azure AD P1. Check the tenant's license information to ensure that the necessary licenses are available for the requested operation.

Neither tenant is B2C or tenant doesn't have a premium license

This feature requires a P1 license or higher. Check the client's tenant license information to ensure that the necessary licenses are in place.

Microsoft.Skype.Sync.Pstn.Tnm.Common.Http.HttpResponseException

Unable to connect to Teams Admin center? This might mean the tenant is missing a Teams license. Check to ensure the necessary licenses are available.

Provide valid credential

If GDAP has been deployed and you're seeing this error, it may be because the user is not in any GDAP groups. Verify the user's GDAP group membership.

Subscription within the tenant has lapsed

No Exchange subscription? This means that Exchange connections are no longer possible. Please verify Exchange subscription availability.

User was not found

This could indicate that the relationship between the tenant and the partner has been dissolved from the client side, or that a GDAP relationship has expired. Check the partner relationship information and ensure it is still active.

The user or administrator has not consented to use the application & AADSTS50020

Multiple causes could lead to this error, such as the user not authorizing the Rewst CSP integration or not being in the AdminAgents group. If you're using GDAP, ensure that the user is added to the correct group(s) for Rewst to function.

Invalid or malformed

The request might be malformed if the body doesn't contain JSON or if variables haven't expanded. Look for syntax errors or incorrect bracket usage.

AppLifecycle_2210

Failed to call Intune APIs? Check if the tenant has the necessary license available.

Insufficient access rights to perform the operation

If the user lacks sufficient access rights or is missing the necessary Exchange role, check the user's rights and Exchange role information. When using GDAP, the user must be in the "Exchange Administrators" group.

Device object was not found in the tenant 'xxxxxxxxxx'

This might occur when a trusted device used for the first authorization has been deleted from the Intune portal. Reauthorization is required.

The provided grant has expired due to it being revoked, a fresh auth token is needed. The user might have changed or reset their password

Password changes, session revocations, or account disabling may lead to this error. Reauthorization will be needed.

Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access

The absence of MFA setup or Conditional Access policies blocking Rewst's access may lead to this error. Check MFA settings and Conditional Access policies.

Presented multi-factor authentication has expired to the policies configured by your administrator, you must refresh your multi-factor authentication to access

A Conditional Access Policy may have set the maximum session time, causing this error. Consider changing the policy or following guidance under Conditional Access.

The token has expired

If the refresh token couldn't be retrieved or stored, reauthorization must occur.

Updating the password profile of a user fails with a forbidden error

As per Microsoft documentation the following needs to be true for resetting a user's password/modifying their password profile.

In a delegated scenario the Rewst enterprise applications need to have the 'Directory.AccessAsUser.All' permission (and corresponding GDAP roles)

In a application call scenario(MSP Level/Integration installed at the customer level standalone from CSP) the application must be assigned a priviledged role such as Authentication Administrator or Priviledged Authentication Administrator.

Common Issue: Transition to Microsoft's introduces complexities in tenant access control.

Refer to Best Practices: Detailed guidance on recommended role permissions for GDAP is available on the page.

Reauthorize CSP with Admin Access: Use the with admin access for reauthorization.

See

  1. Documentation
  2. Configuration
  3. Integrations
  4. Individual integration documentation
  5. Cloud integrations
  6. Microsoft Cloud integration bundle

Common issues with the Microsoft Cloud integration bundle

PreviousMicrosoft Cloud permissionsNextEmbracing the Microsoft Minute
  • Microsoft CSP Authentication Errors
  • Client Error: 400 (Bad Request)
  • Entra UI Pagination and Permissions Display Issues
  • Incomplete Display of Permissions
  • Complete Display of Permissions
  • Consent to Client Permissions
  • Task Level Permissions for Microsoft Graph & Exchange Online
  • Handling CSP Delegated Permissions Errors
  • Additional CSP Error Troubleshooting
Microsoft Partner Account - MFA Requirements
HERE
Granular Delegated Admin Privileges (GDAP)
recommended service account
Microsoft Documentation
Best Practices for Microsoft Integrations