# ProstDev > ProstDev — where MuleSoft mastery meets fun. Easy-to-follow video tutorials, AI experiments, and deep-dive articles on MuleSoft, DataWeave, Anypoint Code Builder, and integration. ProstDev is a MuleSoft education project by Alex Martinez. The primary content is YouTube video tutorials; blog posts provide written, in-depth companions. Each video and post has a machine-readable Markdown version (append `.md` to its URL). ## Video series ### Online Security Tips - [How to Check if Your Email Was Leaked (Have I Been Pwned)](https://prostdev.com/video/check-if-your-email-was-leaked-have-i-been-pwned): Check if your email was in a data breach in 30 seconds with Have I Been Pwned — read your results, the two features of the site I skip (the password check and Notify Me), what to do if you got pwned, and how to look up data breach class action settlements. ### AI Showdown: MuleSoft Edition (2026) - [Claude Code vs CurieTech AI: Solving Advent of Code 2025 Days 1 & 2 in DataWeave (MuleSoft)](https://prostdev.com/video/claude-code-vs-curietech-advent-of-code-dataweave): Two AI coding tools go head-to-head solving Advent of Code 2025 in DataWeave. Who writes cleaner, faster MuleSoft transformations — Claude Code or CurieTech AI? - [3 AIs, 1 MuleSoft Prompt — Who Codes Like an Architect?](https://prostdev.com/video/ai-showdown-api-led-claude-curietech-vibes): Three AI tools get the exact same MuleSoft architect brief — build a 3-layer API-led network for Customers + Orders, 11 operations. Claude, CurieTech AI, and MuleSoft Vibes go head-to-head on rigor, completeness, persistence, tests, and versions. ### Learn Anypoint Code Builder (ACB) - [Why You Should Start Using Anypoint Code Builder (Even If You Love Studio)](https://prostdev.com/video/why-start-using-anypoint-code-builder): An honest look at why Studio developers should give Anypoint Code Builder a try — what's better, what's different, and what to expect. - [Getting Started with MuleSoft Anypoint Code Builder (ACB) in VS Code | Beginner Setup + Hello World](https://prostdev.com/video/getting-started-acb-vscode-hello-world): Install Anypoint Code Builder in VS Code and build your first "Hello World" Mule app from scratch. - [How to Design a REST API in Anypoint Code Builder (OpenAPI + VS Code + Exchange) (Part 1)](https://prostdev.com/video/design-rest-api-acb-openapi): Design a REST API spec using OpenAPI inside Anypoint Code Builder and publish it to Exchange. - [Scaffold an API Spec in Anypoint Code Builder (ACB) + VS Code Project Tour & Tips (Part 2)](https://prostdev.com/video/scaffold-api-spec-acb-project-tour): Scaffold a Mule project from your published OpenAPI spec in Anypoint Code Builder, then tour the generated flows in both XML and UI views and run it locally. - [Apparently I Lied: How to Import JARs in Anypoint Code Builder (ACB)](https://prostdev.com/video/import-jars-anypoint-code-builder): A correction to an earlier video — you actually CAN import a JAR into ACB. Export a deployable archive from Studio, then import it as a fresh ACB project. - [Start Implementing APIs in Anypoint Code Builder (ACB) with MySQL + Docker (Part 3)](https://prostdev.com/video/implementing-apis-acb-mysql-docker): Start implementing your scaffolded API in ACB: spin up a MySQL database in Docker and build the GET-all-tasks flow with DataWeave-generated SQL. - [MuleSoft Anypoint Code Builder (ACB) Full CRUD Tutorial | MySQL + Docker + Debugging (Part 4)](https://prostdev.com/video/acb-full-crud-mysql-docker-debugging): Build a complete CRUD REST API in Anypoint Code Builder backed by MySQL running in Docker, then debug it locally. - [Handling 404 Errors in MuleSoft's Anypoint Code Builder (ACB) | Choice + Raise Error (Part 5)](https://prostdev.com/video/handling-404-errors-acb-choice-raise-error): Add robust error handling to your ACB API: use the Choice router and Raise Error to return clean 404 responses when a resource is not found. ### Adventures in MuleSoft + AI (2025) - [Can AI Build MuleSoft Apps? Cursor AI + Anypoint Code Builder Test Drive](https://prostdev.com/video/cursor-ai-acb-build-mulesoft-apps-test-drive): Putting Cursor AI together with Anypoint Code Builder to see whether an AI editor can actually build a working MuleSoft app. - [Can Cursor AI Recreate a MuleSoft Project Using Best Practices? (Spoiler: Not Really)](https://prostdev.com/video/cursor-ai-recreate-mulesoft-project-best-practices): Asking Cursor AI to rebuild a MuleSoft project following best practices — and seeing where it falls short without guidance. - [Teaching Cursor AI Best Practices for MuleSoft with Rules (Big Improvement!)](https://prostdev.com/video/teaching-cursor-ai-mulesoft-best-practices-rules): Using Cursor rules to teach the AI MuleSoft best practices — and the big jump in code quality that results. - [CurieTech AI vs Real-World DataWeave Challenges – Did It Deliver?](https://prostdev.com/video/curietech-ai-real-world-dataweave-challenges): Throwing real-world DataWeave transformation challenges at CurieTech AI to see how it handles practical MuleSoft problems. - [Is CurieTech AI Smart Enough to Pick the Fastest DataWeave Code?](https://prostdev.com/video/curietech-ai-fastest-dataweave-code): Testing whether CurieTech AI can identify and generate the fastest-performing DataWeave solution among the options. - [Cursor AI vs CurieTech AI: Who Writes Better MUnit Tests for MuleSoft?](https://prostdev.com/video/cursor-vs-curietech-munit-tests-mulesoft): A head-to-head comparison of Cursor AI and CurieTech AI generating MUnit tests for a MuleSoft application. - [CurieTech AI Wrote My MuleSoft Best Practices — AND Opened a GitHub Pull Request! 😱](https://prostdev.com/video/curietech-ai-mulesoft-best-practices-github-pr): CurieTech AI documents MuleSoft best practices and goes a step further by opening a GitHub pull request on its own. - [Testing CurieTech AI's Code Insights: Single Repo, Multi Repo, and Code Review Lens](https://prostdev.com/video/curietech-ai-code-insights-single-multi-repo-review-lens): Exploring CurieTech AI's Code Insights across a single repo, multiple repos, and its code review lens for MuleSoft projects. - [Generate OAS & RAML Specifications Instantly with CurieTech AI’s API Spec Generator Agent](https://prostdev.com/video/generate-oas-raml-specs-curietech-ai-api-spec-generator): Using CurieTech AI's API Spec Generator agent to instantly produce OAS and RAML specifications for a MuleSoft API. - [I Built a Full MCP Server in 10 Minutes Using CurieTech AI -- WHAT?! | YouTube API | MuleSoft | ACB](https://prostdev.com/video/build-mcp-server-10-minutes-curietech-ai): Build a working YouTube MCP server with MuleSoft and CurieTech AI in about 10 minutes. ### From Zero to API with MuleSoft, CurieTech AI & Anypoint Code Builder (2025) - [Generating an OAS API Spec with CurieTech AI | MuleSoft API Designer (Part 1)](https://prostdev.com/video/generate-oas-api-spec-curietech-ai): Let CurieTech AI generate an OpenAPI (OAS) spec for a To-Do Task Management API, then refine it in API Designer. - [Implementing the CRUD REST API in Anypoint Code Builder with CurieTech AI | MuleSoft App (Part 2)](https://prostdev.com/video/implement-crud-rest-api-acb-curietech-ai): CurieTech AI implements the full CRUD REST API in Anypoint Code Builder, wiring up the flows, MySQL database connector, and externalized properties. - [Debugging MuleSoft API with CurieTech AI & Anypoint Code Builder | Local & Postman (Part 3)](https://prostdev.com/video/debugging-mulesoft-api-curietech-ai-acb-postman): Run and debug the To-Do CRUD API locally — fixing SQL syntax with parameterized queries, the auto-increment ID, and the update flow using ACB breakpoints and Postman. - [Generating MUnit Tests for MuleSoft APIs with CurieTech AI | Test Coverage (Part 4)](https://prostdev.com/video/generate-munit-tests-mulesoft-curietech-ai): Use CurieTech AI's MUnit Test Generator to create passing tests for each flow, then merge the pull requests and push coverage toward 100%. ### Data Cloud + MuleSoft Integration - [Data Cloud/MuleSoft Integration Part 1: Connected App, Ingestion API, & Data Stream (Salesforce)](https://prostdev.com/video/datacloud-mulesoft-connected-app-ingestion-api-data-stream): Set up everything Salesforce Data Cloud needs before the MuleSoft integration — create the Connected App with CDP scopes, enable the username/password OAuth flow, configure the Ingestion API and its schema, and deploy a Data Stream. - [Data Cloud/MuleSoft Integration Part 2: Deploy your own Mule app on Anypoint Platform (CloudHub)](https://prostdev.com/video/datacloud-mulesoft-deploy-mule-app-cloudhub): No MuleSoft experience needed — download the prebuilt integration JAR and deploy it to CloudHub 2.0 from Runtime Manager, set the Salesforce/CDP credentials as protected properties, and grab the public endpoint URL. - [Data Cloud/MuleSoft Integration Part 3: Call your integration with Postman](https://prostdev.com/video/datacloud-mulesoft-call-integration-postman): Use the provided Postman collection to call the integration — generate a Data Cloud schema, run SOQL queries, and insert and delete records in Salesforce Data Cloud through the deployed Mule app. - [Data Cloud/MuleSoft Integration Part 4: Secure your API with basic authentication in API Manager](https://prostdev.com/video/datacloud-mulesoft-secure-api-basic-auth-api-manager): Lock down the public endpoint with a basic authentication policy in API Manager — no code required. Create the API instance, upgrade to the autodiscovery-enabled JAR, apply the policy, and update the Postman collection with credentials. - [How to manually authenticate to Salesforce Data Cloud through a MuleSoft integration](https://prostdev.com/video/manually-authenticate-salesforce-data-cloud-mulesoft): When a Data Cloud connector operation is missing, do the auth by hand: authenticate to Salesforce first, exchange that token for a Data Cloud token, then call the Data Cloud API — built and debugged in Anypoint Code Builder. - [Data Cloud/MuleSoft Integration Part 5: Insert Data with the BULK operations](https://prostdev.com/video/datacloud-mulesoft-insert-data-bulk-operations): Get past the 200-record streaming limit by inserting data into Salesforce Data Cloud with the bulk operations — covering the updates made to the integration since Part 3. ### MuleSoft CI/CD with GitHub Actions - [Part 1: How to set up a CI/CD pipeline to deploy your MuleSoft apps to CloudHub using GitHub Actions](https://prostdev.com/video/cicd-mulesoft-github-actions-cloudhub-deploy): Set up your first CI/CD pipeline with GitHub Actions to build and deploy a Mule application to CloudHub — split into build and deploy jobs, with Anypoint Platform credentials stored as GitHub repository secrets. - [Part 2: CI/CD pipeline with MuleSoft and GitHub Actions - secured/encrypted properties](https://prostdev.com/video/cicd-mulesoft-github-actions-encrypted-properties): Extend the CI/CD pipeline to decrypt secure properties at deploy time — store the decryption key as a GitHub secret, pass it through the Maven command, and wire it to the secure.key property in the pom.xml. - [Part 3: CI/CD pipeline with MuleSoft and GitHub Actions - MUnit testing](https://prostdev.com/video/cicd-mulesoft-github-actions-munit-testing): Add a test job that runs your MUnit tests in the CI/CD pipeline — set up Nexus Enterprise credentials as GitHub secrets and a .maven/settings.xml so the build can resolve the MuleSoft EE repository. - [Part 4: CI/CD pipeline with MuleSoft and GitHub Actions - MUnit minimum coverage percentage](https://prostdev.com/video/cicd-mulesoft-github-actions-munit-coverage): Enforce a minimum MUnit coverage percentage in the pipeline — configure failBuild and required coverage in the pom.xml, and upload the MUnit coverage reports as workflow artifacts. - [Part 5: CI/CD pipeline with MuleSoft and GitHub Actions - Enabling MFA through a Connected App](https://prostdev.com/video/cicd-mulesoft-github-actions-connected-app-mfa): Authenticate the pipeline with a Connected App instead of a username/password so it works with MFA-enabled Enterprise accounts — create the app and scopes in Access Management, then wire its client ID and secret through GitHub secrets and the pom.xml. - [Part 6: CI/CD pipeline with MuleSoft and GitHub Actions - Deploying to CloudHub 2.0](https://prostdev.com/video/cicd-mulesoft-github-actions-cloudhub-2): Deploy a Mule application to CloudHub 2.0 with GitHub Actions — configure the pom.xml for CloudHub 2.0, publish to Exchange, and authenticate with a Connected App via a Maven settings.xml. ### MuleSoft from Start: A Beginner's Guide - [Session 0: Planning the Outline | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-planning-the-outline): Kick off the beginner series by planning what we will build and learn across the MuleSoft from Start guide. - [Session 1: MuleSoft Overview | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-mulesoft-overview): A high-level overview of what MuleSoft is, the Anypoint Platform, and how the pieces fit together. - [Session 2: What is an API? and API-Led Connectivity? | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-what-is-an-api): Understand APIs and the API-led connectivity approach that underpins MuleSoft integration design. - [Session 3: Design an API Specification in Design Center | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-design-api-specification): Design a blog REST API from scratch — write down the requirements, then build the API specification in Anypoint Platform Design Center. - [Session 4: Test & Publish the API Spec to Exchange | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-test-publish-api-spec): Finish the API specification, test it with the mocking service, publish it to Exchange, and scaffold the implementation in Anypoint Studio with APIkit. - [Session 5: Develop the API in Anypoint Studio | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-develop-api-anypoint-studio): Implement the API in Anypoint Studio — global elements, per-environment property files, and an Object Store-backed flow for the articles resource. - [Session 6: Debug the Mule Application in Anypoint Studio | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-debug-mule-application): Refactor the Mule app into per-resource config files and subflows, then step through it with the Anypoint Studio debugger, breakpoints, and the DataWeave Playground. - [Session 7: Deploy the Mule App to CloudHub Runtime Manager | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-deploy-cloudhub-runtime-manager): Deploy the finished Mule application to CloudHub from Anypoint Studio, set the environment property, and test the live API and Object Store in Runtime Manager. - [Session 8: Set up CI/CD & API Autodiscovery (API Manager) | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-cicd-api-autodiscovery): Wire up a CI/CD pipeline with GitHub Actions and connect the deployed app to API Manager with API autodiscovery to secure it with a basic authentication policy. - [Session 9: Test your Mule app with MUnit testing | MuleSoft from Start: A Beginner's Guide](https://prostdev.com/video/mulesoft-from-start-munit-testing): Wrap up the series by testing the Mule application with MUnit — writing tests manually and exploring how to add them to a CI/CD pipeline. ### DataWeave Challenges - [DataWeave programming challenge #1: Add numbers separated by paragraphs and get the max number](https://prostdev.com/video/dataweave-challenge-1-add-numbers-paragraphs-max): Sum the numbers within each paragraph of a text input, then return the largest paragraph total — all in DataWeave. Clues and full solutions are in the companion article. - [DataWeave programming challenge #2: Rock Paper Scissors game score system](https://prostdev.com/video/dataweave-challenge-2-rock-paper-scissors-score): Score a series of Rock Paper Scissors rounds in DataWeave — 0 for a loss, 3 for a draw, 6 for a win — and total it out of 30. Clues and full solutions are in the companion article. - [DataWeave programming challenge #3: Count palindrome phrases using the Strings module](https://prostdev.com/video/dataweave-challenge-3-count-palindrome-phrases-strings-module): Identify which phrases are palindromes (ignoring case, spaces, and punctuation), then sum the character counts of those phrases using the DataWeave Strings module. Clues and full solutions are in the companion article. - [DataWeave programming challenge #4: Solve the Tower of Hanoi mathematical puzzle](https://prostdev.com/video/dataweave-challenge-4-tower-of-hanoi-puzzle): Model and solve the Tower of Hanoi puzzle in DataWeave across multiple scenarios — moving disks between dynamically named towers without hard-coding their names. Clues and full solutions are in the companion article. - [DataWeave programming challenge #5: Reverse a phrase's words, but keep the punctuation](https://prostdev.com/video/dataweave-challenge-5-reverse-words-keep-punctuation): Reverse the word order of each phrase in DataWeave while leaving punctuation marks fixed in their original positions. Clues and full solutions are in the companion article. - [DataWeave programming challenge #6: Using tail-recursion to get the factorial of a number](https://prostdev.com/video/dataweave-challenge-6-tail-recursion-factorial): Write a tail-recursive DataWeave function to factorial each positive number in a list (regular recursion hits the limit), sum the results, then slice out specific digit positions as a number. Clues and full solutions are in the companion article. - [DataWeave programming challenge #7: Modify certain values from a JSON structure](https://prostdev.com/video/dataweave-challenge-7-modify-values-json-structure): Uppercase every value in a nested JSON structure in DataWeave — except the values under any "this" field — which the right built-in function makes simple. Clues and full solutions are in the companion article. - [DataWeave programming challenge #8: Sum all digits to get a 1-digit number](https://prostdev.com/video/dataweave-challenge-8-sum-digits-one-digit): Repeatedly sum the digits of a set of numbers in DataWeave until a single-digit result remains (the digital root). Clues and full solutions are in the companion article. ### Getting to the point - [Printing Hello World: Java vs. Python vs. Mule. Under 30 seconds! | Getting to the point](https://prostdev.com/video/hello-world-java-vs-python-vs-mule): A quick side-by-side of printing "Hello World" in Java, Python, and Mule — in under 30 seconds. - [3 ways to concatenate objects in DataWeave 2.0. Under 30 seconds! | Getting to the point](https://prostdev.com/video/3-ways-concatenate-objects-dataweave): Three different ways to concatenate objects in DataWeave 2.0, explained in under 30 seconds. - [Extracting digits from a string in DataWeave 2.0 using flatten, scan, joinBy. Under 30 seconds!](https://prostdev.com/video/extracting-digits-string-dataweave-flatten-scan-joinby): Extract just the digits from a string in DataWeave 2.0 by combining flatten, scan, and joinBy — in under 30 seconds. - [Match / case for literal values in DataWeave 2.0. Under 30 seconds! | Getting to the point](https://prostdev.com/video/match-case-literal-values-dataweave): Use match / case to branch on literal values in DataWeave 2.0, explained in under 30 seconds. - [Retrieving years months & days between two dates in DataWeave 2.0 using between from Periods module](https://prostdev.com/video/years-months-days-between-dates-dataweave-periods): Get the years, months, and days between two dates in DataWeave 2.0 with the between function from the Periods module — in under 30 seconds. ### Other MuleSoft videos - [How to Enable MuleSoft Vibes in VS Code (Agentforce, 100% Free)](https://prostdev.com/video/enable-mulesoft-vibes-in-vs-code): Enable MuleSoft Vibes (the AI assistant) in VS Code from scratch, 100% free — install the Anypoint Extension Pack, spin up a free Salesforce Developer org, turn on Agentforce + Einstein, connect it to Anypoint Platform, and get Vibes live in the editor. - [Why is my Array of Strings not filtering correctly? It may be an Array of Strings and Keys instead!](https://prostdev.com/video/array-of-strings-and-keys-filtering-dataweave): When distinctBy won't filter an array correctly, the culprit may be that it holds Keys, not Strings — they look identical in JSON output. Two DataWeave 2.0 fixes: map the values and coerce Keys to Strings, or joinBy to concatenate each array into a String. - [How to upsert fields from an object in an array with the update operator in DataWeave 2.0 | Mule 4](https://prostdev.com/video/upsert-fields-object-array-update-operator-dataweave): Use the DataWeave 2.0 update operator to match an object in an array and update its fields — including the upsert (!) operator to insert a field that was not there. Plus three ways to avoid null values: a per-field conditional, a do scope, and skipNullOn. - [Interactive MuleSoft tutorial: Anypoint Platform API Catalog by Rolando Carrasco | UAPIM | Exchange](https://prostdev.com/video/interactive-tutorial-anypoint-platform-api-catalog-killercoda): A walkthrough of an interactive, browser-based MuleSoft tutorial built by Ambassador Rolando Carrasco on Killercoda — create a Connected App, install and authenticate the API Catalog CLI, introspect API specs, and publish assets to Exchange, all in a remote environment. - [Exposing DataWeave: Map+Filter vs. Reduce - which is faster?](https://prostdev.com/video/exposing-dataweave-map-filter-vs-reduce-which-is-faster): A hands-on comparison of three DataWeave 2.0 approaches to the same map-then-filter problem — map+filter, filter+map, and a single-pass reduce — benchmarked over 10,000 items. The surprising result: reduce is by far the slowest, so time your approaches before assuming. - [How to add JVM/Command-line arguments to the Mule 4 Runtime in Anypoint Code Builder (ACB)](https://prostdev.com/video/add-jvm-command-line-arguments-mule-4-runtime-anypoint-code-builder): Pass JVM or command-line arguments to the Mule Runtime inside Anypoint Code Builder by editing the "Mule Runtime: Default Arguments" setting — useful for env-separated properties files and for passing a secure/encryption key to a Mule app with secured properties. - [Anypoint Studio 7.10.0 | Notification center for new versions of connectors/modules](https://prostdev.com/video/anypoint-studio-7-10-notification-center-connector-versions): A quick look at Anypoint Studio 7.10.0's new notification center — blue dots in Manage Modules flag connectors with a newer version in Anypoint Exchange, so you can update them in a couple of clicks instead of checking the connector release notes by hand. - [What is an API? | Understanding APIs (Part 1)](https://prostdev.com/video/what-is-an-api-understanding-apis-part-1): A from-scratch explanation of what an API is: the implementation (the body), the request and response, and the four aspects every API has — inputs, operations, outputs, and data types — wrapped up with a simple diagram you can refer back to. - [5 reasons why you need an IDE](https://prostdev.com/video/5-reasons-why-you-need-an-ide): What an IDE is and five ways it saves a new developer time — syntax highlighting, text autocompletion, refactoring options, importing libraries, and one-click build/compile/run instead of memorizing console commands. - [3 ways to concatenate objects in DataWeave 2.0](https://prostdev.com/video/3-ways-to-concatenate-objects-in-dataweave-2-0): Object concatenation in DataWeave 2.0 — combining two objects into one — done three ways: the popular ++ (plus plus) function, the object destructor {( )}, and the object destructor with an array {([ ])} so you do not have to wrap each object in its own parentheses. ## Blog posts - [Agentforce Voice: Let Callers Type Their Email Mid-Call](https://prostdev.com/post/agentforce-voice-agent-type-email-mid-call): Build an Agentforce Voice agent that texts callers a one-field form link, so they type their email instead of spelling it. Full steps, commands and fixes. - [4 Claude Code slash commands I use the most (and 8 more)](https://prostdev.com/post/claude-code-slash-commands): Name and color your Claude Code sessions, ask side questions with /btw, and pick up old work with /resume. Plus /recap, /branch, /rewind, and a few more. - [Have I Been Pwned: check if you were in a data breach](https://prostdev.com/post/have-i-been-pwned-check-if-you-were-in-a-data-breach): Use Have I Been Pwned to see if your email was in a data breach, why I skip its password check and Notify Me, plus security tips and class action settlements. - [Recap skills: catch up on any Claude session](https://prostdev.com/post/recap-skills-catch-up-on-any-claude-session): Two agent skills that catch you up when you reopen a Claude session cold: a read-only snapshot of the goal, where things stand, and what is on you next. - [Sound and desktop alerts for Claude Code with hooks](https://prostdev.com/post/sound-and-desktop-alerts-for-claude-code-with-hooks): Get a sound and a native macOS banner when Claude Code finishes a turn or is blocked waiting for your permission, using the settings.json hooks system. - [One idea, four products: the tech and product side of the gig economy](https://prostdev.com/post/gig-economy-same-idea-different-products): Uber, TaskRabbit, Rover, and CleaningPal all sell 'own your own time,' yet they turn that same idea into completely different products. Here's how the nature of each task reshapes the whole customer journey. - [AI Showdown Hard Mode: Claude Code vs MuleSoft Vibes](https://prostdev.com/post/ai-showdown-hard-mode-claude-code-vs-mulesoft-vibes): Hard-mode rematch of AI Showdown: MuleSoft Edition. Same API-led brief, but every architect requirement is now mandatory: specs, security, secrets, error handling, MUnit, persistence, a parent POM. Here's how Claude and MuleSoft Vibes did with nowhere to hide. - [ACB deploys your app with the local port instead of 8092? Your properties are resolved at build time](https://prostdev.com/post/acb-cloudhub-wrong-port-force-parse-config-xmls): Deploy to CloudHub from Anypoint Code Builder and the listener uses your local ${https.private.port} instead of 8092? ACB bakes the placeholder in at build time against your local config. Force a fresh parse with -Dmule.deployment.forceParseConfigXmls=true. - [503s after adding the JWT Validation policy on an Omni Gateway MCP server? The "optional" JWKS fields aren't optional](https://prostdev.com/post/omni-gateway-jwt-validation-503-jwks-optional-fields): Securing an MCP server on Omni Gateway with the JWT Validation policy and getting only 503s with no logs? The new-UI JWKS Caching TTL and connection timeout fields are marked optional but the policy engine treats them as required. Fill them in. - [No fx button on an ACB field? Set a dynamic value in the XML](https://prostdev.com/post/acb-field-no-fx-button-set-dynamic-value-with-xml): A field in Anypoint Code Builder has no fx button? Set the dynamic value in the flow XML with a #[] expression, and read properties with Mule::p() instead of ${}. - [How to Enable MuleSoft Vibes in VS Code](https://prostdev.com/post/enable-mulesoft-vibes-in-vs-code): A step-by-step guide to turning on MuleSoft Vibes, the AI assistant, in VS Code: install the Anypoint Extension Pack, connect a free Salesforce Developer org, enable Agentforce, and start chatting. - [3 AIs Design API-Led Connectivity in MuleSoft: Claude vs CurieTech vs MuleSoft Vibes](https://prostdev.com/post/ai-showdown-3-ais-design-api-led-connectivity-in-mulesoft): Round 2 of AI Showdown: MuleSoft Edition. I gave Claude, CurieTech AI, and MuleSoft Vibes the same prompt — build a 3-layer API-led network for Customers + Orders — and scored the results on rigor, completeness, and versions. - [Migrating a Blog From Wix to Astro: What Breaks](https://prostdev.com/post/migrating-a-blog-from-wix-to-astro): Moving 138 posts from Wix to Astro: the code, images, videos, and tables the export silently drops, and how I recovered every piece without fabricating a thing. - [Keep Your .claude Folder Private with a Git Submodule](https://prostdev.com/post/private-claude-folder-git-submodule): Split your .claude/ config into a private repo while your project stays public: a git submodule plus a CLAUDE.md symlink so Claude Code still finds it. - [AI Agent Skills: What They Are and How to Use Them](https://prostdev.com/post/what-are-ai-agent-skills-and-how-to-use-them): A beginner's guide to AI agent skills: what a SKILL.md file is, how to set one up in Claude Code, and how to hand an AI an llms.txt to pick the skill it needs. - [Claude Code vs CurieTech AI: Which Writes Better DataWeave?](https://prostdev.com/post/claude-code-vs-curietech-dataweave): Kicking off AI Showdown: MuleSoft Edition (2026) by pitting Claude Code against CurieTech AI on Advent of Code 2025 — same inputs, benchmarked in the DataWeave Playground. Who writes cleaner, faster MuleSoft transformations? - [How I Use ChatGPT to Brainstorm Newsletter Topics](https://prostdev.com/post/how-i-use-chatgpt-to-brainstorm-newsletter-topics): Every week I need a fresh, relevant topic for my newsletter. Here's the exact workflow I use with ChatGPT as a brainstorming partner — and where the human touch still matters most. - [How I Use ChatGPT for Writing Without Losing My Voice](https://prostdev.com/post/how-i-use-chatgpt-to-create-articles): Learn how to use ChatGPT to create authentic content faster. See how I write my LinkedIn newsletter with AI while keeping my voice and accuracy. - [Implement MySQL with Docker in Anypoint Code Builder (ACB)](https://prostdev.com/post/connect-mysql-docker-to-mulesoft-acb-vs-code): Learn how to connect MySQL in Docker to your MuleSoft project in Anypoint Code Builder using VS Code. Build dynamic queries with DataWeave. - [Scaffold an API Spec in ACB + VS Code Tips for Beginners](https://prostdev.com/post/scaffold-api-spec-anypoint-code-builder-vscode-tips): Scaffold an API spec in Anypoint Code Builder and explore key ACB + VS Code tips like running flows, customizing views, and using Git effectively. - [Design a REST API in Anypoint Code Builder (OpenAPI + VS Code)](https://prostdev.com/post/how-to-design-a-rest-api-in-anypoint-code-builder-openapi-vs-code-exchange): Learn how to design a complete REST API in Anypoint Code Builder using OpenAPI 3.0 in VS Code. Mock, test, and publish your API to Anypoint Exchange—no XML needed. - [Getting Started with Anypoint Code Builder in VS Code (Beginner Guide)](https://prostdev.com/post/getting-started-with-anypoint-code-builder-in-vs-code-beginner-guide): Install MuleSoft Anypoint Code Builder (ACB) in VS Code and build your first "Hello World" Mule app from scratch — the modern, code-first way to develop APIs. - [Building a YouTube MCP Server with MuleSoft and CurieTech AI in 10 Minutes](https://prostdev.com/post/building-a-youtube-mcp-server-with-mulesoft-and-curietech-ai-in-10-minutes): Learn how to build a YouTube Data API MCP server using MuleSoft and CurieTech AI in 10 minutes. Full setup, testing, and Claude integration tutorial included. - [Why is my Array not filtering correctly? It may be an Array instead](https://prostdev.com/post/array-string-key-dataweave): A subtle DataWeave gotcha: when you read keys from an object, you don't always get an Array — you may get an Array, and that breaks equality checks. Here's why, and how to fix it. - [How to connect your local Ollama AI using the MuleSoft AI Chain (MAC) project and Anypoint Code Builder (ACB)](https://prostdev.com/post/mac-project-ollama-ai): Learn how to create and deploy an AI-powered API with Ollama and MuleSoft. Step-by-step guide from setup to CloudHub deployment for developers. - [How to develop AsyncAPIs on Anypoint Code Builder with Solace PubSub+ locally (Docker)](https://prostdev.com/post/how-to-develop-asyncapis-on-anypoint-code-builder-with-solace-pubsub-locally-docker): Learn how to run Solace PubSub+ locally using Docker and to connect it to a MuleSoft AsyncAPI spec/app. Useful for Java/Springboot apps. - [How to upsert fields from an object in an array with the update operator in DataWeave](https://prostdev.com/post/upsert-object-from-array): In this post, we'll learn how to use the update operator along with the upsert and conditional options. We'll also learn different ways of handling null values for our fields. - [Part 5: Data Cloud + MuleSoft integration - Insert data with the BULK operations](https://prostdev.com/post/part-5-data-cloud-mulesoft-integration): New version of this MuleSoft + Data Cloud integration app now handles bulk operations to retrieve info, upsert, and delete jobs. The application handles the Create, Upload, and Close of each job so you can focus on what's really important. - [Part 6: CI/CD pipeline with MuleSoft and GitHub Actions - Deploying to CloudHub 2.0](https://prostdev.com/post/part-6-ci-cd-pipeline-with-mulesoft-and-github-actions-deploying-to-cloudhub-2-0): Learn the basics of setting up our GitHub Actions pipeline to deploy a Mule application to CloudHub 2.0. Once more, using a Connected App. - [New MuleSoft Community Theme for Visual Studio Code!](https://prostdev.com/post/new-mulesoft-community-theme-for-visual-studio-code): I created a theme for Visual Studio Code inspired by MuleSoft! - [Interactive tutorial - MuleSoft Anypoint Platform API Catalog by Rolando Carrasco](https://prostdev.com/post/interactive-tutorial-mulesoft-anypoint-platform-api-catalog-by-rolando-carrasco): Have you ever wanted to do some interactive tutorials while learning MuleSoft? There are not a lot of options out there for this purpose. However, MuleSoft Ambassador Rolando Carrasco took the time to create one for us! - [Exposing DataWeave: Map+Filter vs. Reduce - which is faster?](https://prostdev.com/post/exposing-dataweave-map-filter-vs-reduce-which-is-faster): I was working on some code that was using both map and filter together and I started thinking if there was a better way to refactor this code to make it more performant. - [Part 4: Data Cloud + MuleSoft integration - Secure your API with basic authentication in API Manager](https://prostdev.com/post/part-4-data-cloud-mulesoft-integration): Learn to connect your Mule app to API Manager and add basic authentication, using clicks, not code. - [Part 3: Data Cloud + MuleSoft integration - Call your integration with Postman](https://prostdev.com/post/part-3-data-cloud-mulesoft-integration): In this third part, we'll learn how to use our integration. We'll use Postman for this article, but you can use any other REST client like Thunder Client or cURL. - [Part 2: Data Cloud + MuleSoft integration - Deploy your own Mule app on Anypoint Platform (CloudHub)](https://prostdev.com/post/part-2-data-cloud-mulesoft-integration): In this second part, we'll go through the MuleSoft side of the integration and you'll deploy your own Mule app to CloudHub. - [Part 1: Data Cloud + MuleSoft integration - Connected App, Ingestion API & Data Stream settings in Salesforce](https://prostdev.com/post/part-1-data-cloud-mulesoft-integration): In this first part, we'll just go through the Salesforce/Data Cloud settings that we need to set up before even calling Data Cloud through the Mule app. - [How to add JVM/Command-line arguments to the Mule 4 Runtime in Anypoint Code Builder (ACB)](https://prostdev.com/post/how-to-add-jvm-command-line-arguments-to-the-mule-4-runtime-in-anypoint-code-builder-acb): Adding arguments to your Mule Runtime is useful when you're using properties files that are separated by environment. It is also useful to pass a secure/encryption key to your Mule application when you have secured properties. - [How to RE-scaffold Mule flows from an Exchange API specification in Anypoint Studio](https://prostdev.com/post/re-scaffold-mule-flows-exchange-api-spec-studio): What happens when there is a change to a published API in Anypoint Exchange? How can we get these changes re-scaffolded to our API implementation once we have already done the scaffolding? In this post, we'll learn how to re-scaffold our Mule project based on new changes done to the published API Specification in Exchange. - [How to scaffold Mule flows from a published API spec in Anypoint Code Builder (ACB)](https://prostdev.com/post/scaffold-mule-flows-from-published-api-spec-acb): Why would you want to scaffold Mule flows from an API specification? This way you will be able to get started on your Mule application with a base project that is created upon your specification, instead of starting the Mule project and Mule flows from scratch. - [How to scaffold Mule flows from a published API spec in Anypoint Studio](https://prostdev.com/post/scaffold-mule-flows-from-published-api-specification): In this post, I am going to show you how to scaffold your flows in Anypoint Studio from a published API specification. - [#Codetober 2023 ~ 31 MuleSoft-related videos under 10min each!](https://prostdev.com/post/codetober-2023): Every October we create this series of 31 videos ranging from various tech topics. This year they're MuleSoft-related! Don't miss them. - [How to use MuleSoft's visual API Designer to create a To-Do API specification using clicks, not code](https://prostdev.com/post/how-to-use-mulesoft-s-visual-api-designer-to-create-a-to-do-api-specification-using-clicks-not-code): Did you know MuleSoft provides this neat Graphical User Interface (GUI) where you can configure your own API specification with just clicks? Let's create a To-Do API specification to see how this visual tool works. - [DataWeave scripts to clean your XML/HTML code snippets for a WordPress blog post](https://prostdev.com/post/dataweave-scripts-to-clean-your-xml-html-code-snippets-for-a-wordpress-blog-post): Learn how to clean an XML or HTML code snippet to publish in a WordPress article with these DataWeave scripts. - [Down the Rabbit Hole vol.2 - GUIs in MuleSoft](https://prostdev.com/post/down-the-rabbit-hole-vol-2-guis-in-mulesoft): We'll discuss those edge cases where a GUI might solve your problems. - [DataWeave programming challenge #8: Sum all digits to get a 1-digit number](https://prostdev.com/post/dataweave-programming-challenge-8): Create a DataWeave script to sum all the digits from the input payload until there's only one digit left. - [We are now accepting guest writers!](https://prostdev.com/post/we-are-now-accepting-guest-writers): We are delighted to announce an exciting update to our blog's article submission process! - [DataWeave programming challenge #7: Modify certain values from a JSON structure](https://prostdev.com/post/dataweave-programming-challenge-7): Create a DataWeave script that will update all the values to uppercase, except the ones in which the field equals thisname. - [Part 5: CI/CD pipeline with MuleSoft and GitHub Actions - Enabling MFA through a Connected App](https://prostdev.com/post/part-5-ci-cd-pipeline-with-mulesoft-and-github-actions-enabling-mfa-through-a-connected-app): Learn how to set up our pipeline with a connected app, which is useful when you have multi-factor authentication activated in Anypoint Platform. - [DataWeave programming challenge #6: Using tail-recursion to get the factorial of a number](https://prostdev.com/post/dataweave-programming-challenge-6): Create a tail-recursive function to get the factorial of each positive number from the payload. - [Part 4: CI/CD pipeline with MuleSoft and GitHub Actions - MUnit minimum coverage percentage](https://prostdev.com/post/part-4-ci-cd-pipeline-with-mulesoft-and-github-actions-munit-minimum-coverage-percentage): In this post, we'll see the steps to add the minimum coverage percentage for the MUnit tests in order to pass the pipeline. - [Down the Rabbit Hole vol.1 - Using GPUs in MuleSoft](https://prostdev.com/post/down-the-rabbit-hole-vol-1-using-gpus-in-mulesoft): I've written a Mule plugin that has the ability to use Cuda cores for parallel asynchronous processing. - [5 tips to have a better setup when you're live streaming from a MacOS computer](https://prostdev.com/post/5-tips-to-have-a-better-setup-when-you-re-live-streaming-from-a-macos-computer): I've been doing a lot of live streaming lately. Either alone or with guests. And I noticed some things that could be improved (from a streamer perspective) to create a better experience for the people watching our screen. Here are some MacOS-specific tools to help. - [DataWeave programming challenge #5: Reverse a phrase's words, but keep the punctuation](https://prostdev.com/post/dataweave-programming-challenge-5): Reverse the order of the words in the given phrases. However, the punctuation signs stay in the same place. - [DataWeave programming challenge #4: Solve the Tower of Hanoi mathematical puzzle](https://prostdev.com/post/dataweave-programming-challenge-4): Move the disks, one disk at a time, from tower A to tower C following the Tower of Hanoi puzzle rules. - [Part 3: CI/CD pipeline with MuleSoft and GitHub Actions - MUnit testing](https://prostdev.com/post/part-3-ci-cd-pipeline-with-mulesoft-and-github-actions-munit-testing): In this post, we'll see the steps to create a pipeline with GitHub Actions that will run the MUnit tests from your project. - [DataWeave programming challenge #3: Count palindrome phrases using the Strings module](https://prostdev.com/post/dataweave-programming-challenge-3): Review each of the input phrases and find those that are palindromes. Then, retrieve the character count and sum the total characters. - [Part 2: CI/CD pipeline with MuleSoft and GitHub Actions - secured/encrypted properties](https://prostdev.com/post/part-2-ci-cd-pipeline-with-mulesoft-and-github-actions-secured-encrypted-properties): In this post, we'll see the steps to create a pipeline with GitHub Actions that will decrypt your secured properties in your Mule app. - [DataWeave programming challenge #2: Rock Paper Scissors game score system](https://prostdev.com/post/dataweave-programming-challenge-2): Create a script to keep your score on a series of Rock Paper Scissors games. 0 if you lose, 3 if it's a draw, and 6 if you win. - [How to develop a Battlesnake using a MuleSoft API and the DataWeave language](https://prostdev.com/post/how-to-develop-a-battlesnake-using-a-mulesoft-api-and-the-dataweave-language): In this post, I'm going to guide you through all the steps to generate your own MuleSoft starter project in GitHub to play Battlesnake. - [DataWeave programming challenge #1: Add numbers separated by paragraphs and get the max number](https://prostdev.com/post/dataweave-programming-challenge-1): Create a DataWeave script to add all the numbers separated by a paragraph. Then, retrieve the highest number. - [DataWeave 2.0 scopes for local variables: 'using' vs. 'do' operators](https://prostdev.com/post/dataweave-2-0-scopes-for-local-variables-using-vs-do-operators): In this post, I'll go through some of the main differences between these two operators so you decide which one to use in your scripts! - [How to generate shareable link examples from GitHub to open in the DataWeave Playground](https://prostdev.com/post/how-to-generate-shareable-link-examples-from-github-to-open-in-the-dataweave-playground): Learn how to create shareable links from a GitHub repository to open directly in the online DataWeave Playground. - [Simplified try-catch strategy in DataWeave with the default keyword (instead of try/orElse)](https://prostdev.com/post/simplified-try-catch-strategy-in-dataweave-with-the-default-keyword-instead-of-try-orelse): The other day I was reading some StackOverflow DataWeave questions and I got to this very interesting thread. - [Part 1: How to set up a CI/CD pipeline to deploy your MuleSoft apps to CloudHub using GitHub Actions](https://prostdev.com/post/how-to-set-up-a-ci-cd-pipeline-to-deploy-your-mulesoft-apps-to-cloudhub-using-github-actions): In this post, we'll learn how to create a simple CI/CD pipeline to deploy Mule applications from GitHub to CloudHub using GitHub Actions. - [How to move your code from the DataWeave Playground to Visual Studio Code](https://prostdev.com/post/how-to-move-your-code-from-the-dataweave-playground-to-visual-studio-code): If you will be working on bigger payloads or simply want to work locally, it's recommended to use Visual Studio Code. - [MuleSoft's Anypoint Flex Gateway logs integration with Grafana Loki](https://prostdev.com/post/mulesoft-s-anypoint-flex-gateway-logs-integration-with-grafana-loki): Learn how to send the Flex Gateway agent logs into Grafana Loki. And how to analyze, search, and explore them from the Grafana console. - [Spring Module Integration in a Mule Application (Mule 4)](https://prostdev.com/post/spring-module-integration-in-a-mule-application-mule-4): In this article, we will use a database datasource that is created by spring beans. Also, we will invoke one bean's method from mule flow. - [JWT token creation using DataWeave](https://prostdev.com/post/jwt-token-creation-using-dataweave): Security implementations have been revolutionary through OAuth 2.0, OpenID Connect, SAML, etc. OAuth 2.0 and OpenID connect mostly use JWT as a token format. Here's how to create a JWT token using Java and DataWeave. - [How to Integrate AWS Lambda with MuleSoft](https://prostdev.com/post/how-to-integrate-aws-lambda-with-mulesoft): In this blog post, I will demonstrate how to Integrate AWS Lambda with MuleSoft. - [Tracing Module in Mule 4](https://prostdev.com/post/tracing-module-in-mule-4): The tracing module enables you to enhance your logs by adding, removing, and clearing all variables from the logging context for a given Mule event. It also enables you to modify the correlation ID during flow execution. - [How to Invert a Binary Tree with DataWeave](https://prostdev.com/post/how-to-invert-a-binary-tree-with-dataweave): The DataWeave Language is a simple, powerful tool used to query and transform data inside of Mule. You can also use it to solve an algorithmic problem. Invert a Binary Tree is a popular Coding Question to test your coding skills. Let's try to solve this with DataWeave. - [Universal API Management, Anypoint Flex Gateway, and API Governance](https://prostdev.com/post/universal-api-management-anypoint-flex-gateway-and-api-governance): As you are aware that recently MuleSoft has introduced Universal API Management capabilities via Flex Gateway and API Governance components as part of Anypoint Platform. These two components are very important as a part of API lifecycle management and those will help to manage any APIs using a single platform and ensure that whatever API specs that you are designing are with best practices and all security aspects have been taken care of during API design. - [3 scenarios to consume an Apache Kafka Topic with MuleSoft](https://prostdev.com/post/3-scenarios-to-consume-an-apache-kafka-topic-with-mulesoft): This article is going to explain the mechanisms that you can use within a MuleSoft application to read messages from a Topic and partitions, and which are the expected behaviors and consequences. - [Amazon DynamoDB Connector Operations in Mule 4 (Part 1)](https://prostdev.com/post/amazon-dynamodb-connector-operations-in-mule-4-part-1): This blog post provides quick examples of how to use the Amazon DynamoDB Connector in Mule 4 using Anypoint Studio. Operations: create table, describe table, list tables, put item, batch put item (single and multiple tables), get item, batch get item, update item, query, scan, delete item, batch delete item. - [Guidelines to submit your content in ProstDev](https://prostdev.com/post/guidelines-to-submit-your-content-in-prostdev): Please take care of the following guidelines before submitting your application to contribute. - [Anypoint Platform Single Sign-on (SSO) SAML Configuration with Oracle IDCS - PART 2](https://prostdev.com/post/anypoint-platform-single-sign-on-sso-saml-configuration-with-oracle-idcs-part-2): Our last article was about how to integrate MuleSoft Anypoint Platform with Oracle Identity Cloud Services. With this, you can use Oracle IDCS as your Identity Provider. This is very useful for Single Sign-On purposes, and if you already have Oracle Cloud Infrastructure and you are using MuleSoft to integrate it with Oracle SaaS apps, this alternative for SSO should be a good fit for you. - [Basic Google Big Query operations with a Salesforce sync demo in Mule 4](https://prostdev.com/post/basic-google-big-query-operations-with-a-salesforce-sync-demo-in-mule-4): In this post, I would like to demonstrate in a few steps how we can make a sync job that allows us to describe a Salesforce instance and use a few objects to create a full schema of those objects (tables) into a Google Big Query Dataset. Then with the schema created we should be able to push some data into BigQuery from Salesforce and see it in our Google Cloud Console project. - [Oracle database Stored Procedure does not time out as expected in MuleSoft](https://prostdev.com/post/oracle-database-stored-procedure-does-not-time-out-as-expected-in-mulesoft): In a recent MuleSoft project, I noticed a problem when trying to run an Oracle stored procedure that took a fair amount of time to complete. - [Anypoint Platform Single Sign-on (SSO) SAML Configuration with Oracle IDCS – PART 1](https://prostdev.com/post/anypoint-platform-single-sign-on-sso-saml-configuration-with-oracle-idcs-part-1): In this post, we talk about how to do SSO in Anypoint Platform using Oracle Identity Cloud Services (IDCS). Useful for MuleSoft+Oracle SaaS. - [How to check if a key is present in a JSON payload in DataWeave with these 3 examples](https://prostdev.com/post/how-to-check-if-a-key-is-present-in-a-json-payload-in-dataweave-with-these-3-examples): Here are 3 examples where you can see how to check if a key in the input JSON payload is present or not. - [MuleSoft Connected with Oracle Streaming Service using the Kafka Connector](https://prostdev.com/post/mulesoft-connected-with-oracle-streaming-service-using-the-kafka-connector): This article is focused on highlighting MuleSoft's Kafka connector, to be used with OCI Streaming Services. - [CVE-2021-44228: Critical zero-day Log4j vulnerability (Log4Shell) discovered and MuleSoft’s solution](https://prostdev.com/post/cve-2021-44228-critical-zero-day-log4j-vulnerability-log4shell-discovered-and-mulesoft-s-solution): Over December 2021, a critical vulnerability has been unraveled pertinent to Apache’s Log4j library. Let's understand what happened. - [Anypoint Studio 7.11.0: New features overview](https://prostdev.com/post/anypoint-studio-7-11-0-new-features-overview): Are you already using the newest version of Anypoint Studio? Let me guide you through the coolest features it has. Studio includes 3 new features that you will enjoy: Support for Mule Runtime 4.4, DataWeave 2.4, and the new "Referenced by" function. - [Retry and Reprocess flow design with Anypoint MQ](https://prostdev.com/post/retry-and-reprocess-flow-design-with-anypoint-mq): In any MuleSoft project, when Anypoint MQ comes into the picture there is always a requirement of retry and reprocess mechanism. Based on my experience I have prepared this blog to show how easily we can design retry and reprocess mechanisms. - [How to configure Solace DMQ (Dead Message Queue) through the Mule JMS connector](https://prostdev.com/post/how-to-configure-solace-dmq-dead-message-queue-through-the-mule-jms-connector): In this post, I will be explaining how to configure Solace DMQ through the Mule JMS Connector. There can be many business scenarios where the processing of the message will be delayed by a predefined amount of time. In such scenarios, we can make use of the concept of the TTL property and the DMQ. - [How to Handle Single and XA (Extended Architecture) Transactions in MuleSoft](https://prostdev.com/post/how-to-handle-single-and-xa-extended-architecture-transactions-in-mulesoft): A transaction is a group of operations where all the steps are needed to be successful to commit a result. If any one of the intermediate steps fail, the whole chain of steps fails collectively. In this post, we'll learn how to implement Single and XA transactions using MuleSoft. - [How to create a README file for your GitHub profile, part 2: Markdown basics](https://prostdev.com/post/how-to-create-a-readme-file-for-your-github-profile-part-2-markdown-basics): In this series of posts, I'll show you how to create a striking README.md file to attach to your GitHub profile. - [MuleSoft Runtime Fabric Deployed on Oracle Cloud Infrastructure (OCI) - Part 2: Mgmt & Operations](https://prostdev.com/post/mulesoft-runtime-fabric-deployed-on-oracle-cloud-infrastructure-oci-part-2-mgmt-operations): This is the second part of a series of articles focused on MuleSoft Runtime Fabric. It's time to learn some mechanisms to manage a cluster. - [How to create a README file for your GitHub profile, part 1: Intro to Git, GitHub, and README files](https://prostdev.com/post/how-to-create-a-readme-file-for-your-github-profile-part-1-intro-to-git-github-and-readme-files): In this series of posts, I’ll show you how to create a striking README.md file to attach to your GitHub profile. - [Notification center for new versions of connectors/modules in Anypoint Studio 7.10.0](https://prostdev.com/post/notification-center-for-new-versions-of-connectors-modules): This post is about the new Anypoint Studio 7.10.0 version released July 29th, 2021. Here is a summary of the new changes introduced in this version, with a closer look at the Notification Center for new versions of connectors. - [Recommendation: Logitech MX Ergo Advanced (Plus) Wireless Trackball Mouse](https://prostdev.com/post/recommendation-logitech-mx-ergo-advanced-plus-wireless-trackball-mouse): I bought this mouse less than 24 hours ago, and I'm already completely in love with it. - [MuleSoft Runtime Fabric Deployed on Oracle Cloud Infrastructure (OCI) - Part 1](https://prostdev.com/post/mulesoft-runtime-fabric-deployed-on-oracle-cloud-infrastructure-oci-part-1): MuleSoft offers on-premise deployments such as Standalone, Runtime Fabric, and Private Cloud Edition. Runtime Fabric (RTF) is a hybrid deployment model. You still have the Control Plane in the cloud but the workloads (Runtime Plane) are running at the customer end. I am going to use Oracle Cloud Infrastructure to explain the pre-requisites and part of the installation process. - [DataWeave Parsing Date Modes: SMART, STRICT, and LENIENT](https://prostdev.com/post/dataweave-parsing-date-modes-smart-strict-and-lenient): We know that in DataWeave the types can be coerced from one type to another. For that we use the as operator. There is a property called mode that we can use when we are parsing date and time values. The mode parameter has three different valid values: SMART, STRICT, and LENIENT. The default mode when you are parsing dates is SMART. - [Encryption in DataWeave: HMACBinary and toBase64 functions](https://prostdev.com/post/encryption-in-dataweave-hmacbinary-and-tobase64-functions): The main objective of this post is to show how we can implement a field level encryption for a JSON payload in MuleSoft using DataWeave, using the Crypto module and the toBase64 function. - [How to retrieve the number of years, months, or days between two dates in DataWeave 2.0](https://prostdev.com/post/how-to-retrieve-the-number-of-years-months-or-days-between-two-dates-in-dataweave-2-0): I needed to get a person's age. I started using "daysBetween" but this was a wrong way. In this post, I'll show you how to use the "between" function from the Periods module to retrieve the number of years, months, or days between two dates. - [Dynamic Variable in MuleSoft](https://prostdev.com/post/dynamic-variable-in-mulesoft): On one of my assignments, I was presented with a rather peculiar demand: to write the records belonging to a unique identifier in a variable. The catch was, we do not know how many such unique identifiers are going to come in a particular batch. The flow will read an excel file and, based on the query string, we'll segregate the records -using a foreach component- and send an email with the final payload. - [My top 5 DataWeave tips to make your life easier](https://prostdev.com/post/my-top-5-dataweave-tips-to-make-your-life-easier): It took me some time to find and fully understand how to use these hacks. Trust me; they're truly worth it: the DataWeave Playground, the dw output, the log function, the do statement, and assigning types to variables and functions (with Function Overloading when needed). - [Easiest way to integrate automatic code review of MuleSoft apps using SonarQube and Docker Container](https://prostdev.com/post/easiest-way-to-integrate-automatic-code-review-of-mulesoft-apps-using-sonarqube-and-docker-container): SonarQube is a platform for continuous inspection of code quality to perform automatic reviews with static analysis of code. The quickest way to have an installation of SonarQube up and running is using a Docker container. Let's use Docker Hub (the world's largest library and community for container images) to find a SonarQube Docker container to perform our MuleSoft applications code reviews. - [Trigger Events in Salesforce; Receive Them in MuleSoft](https://prostdev.com/post/trigger-events-in-salesforce-receive-them-in-mulesoft): In this post I am going to show you how we can create a MuleSoft Flow that can react to three different events generated by Salesforce: On Create Event, On Modify Event, and On Delete Event. We will use Lead as the entity in Salesforce. We are interested to know if a Lead was created, updated, or deleted. - [Mule 4 Unsplash Connector](https://prostdev.com/post/mule-4-unsplash-connector): Unsplash has a REST API that provides a bunch of nice features like image search, photo actions, collections, topics and users. This time I have created a new custom connector for Mule 4 to use a couple operations (Get Random Photo and Search Photos). - [ProstDev's New Blog Post Template](https://prostdev.com/post/prostdev-s-new-blog-post-template): A step-by-step guide for new writers on how to create a blog post with ProstDev, covering the Google Doc template, word count, title, excerpt, SEO description, article formatting, and the review process. - [The Power of cURL - Part II](https://prostdev.com/post/the-power-of-curl-part-ii): Overview of cURL and how to invoke HTTP methods from the command line. I go into detail on how to invoke APIs using HTTP GET and POST requests, as well as how to pass query parameters, URI parameters and headers. This post will explain how to invoke APIs using HTTPS via cURL. - [3 ways to import a function/module in DataWeave 2.0](https://prostdev.com/post/3-ways-to-import-a-function-module-in-dataweave-2-0): There are different ways to import a module in DataWeave for functions that aren't part of the core: import the module directly, import all functions from a module, or import one or more specific functions from a module. - [How to integrate Solace PubSub+ Cloud with MuleSoft - Negative Scenario (Error Handling)](https://prostdev.com/post/how-to-integrate-solace-pubsub-cloud-with-mulesoft-negative-scenario-error-handling): Even though the error handling logic varies depending on use cases, business requirements, organizational processes, etc. I believe the core approach to error handling for message-based integrations would more or less remain the same for different applications. The most common approach consists of the following steps. - [How to integrate Solace PubSub+ Cloud with MuleSoft](https://prostdev.com/post/how-to-integrate-solace-pubsub-cloud-with-mulesoft): In this article, I will demonstrate how to integrate Solace PubSub+ with MuleSoft to publish and consume the messages. - [The Power of cURL](https://prostdev.com/post/the-power-of-curl): cURL is a command-line tool used to transfer files and invoke APIs over protocols like HTTP, HTTPS, and FTP. Learn how to send GET, query params, URI params, headers, and POST requests, plus how to print output. - [How to check for empty values in an array in DataWeave | Part 4: Arrays Module](https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-4-arrays-module): I had this use-case where I had to make sure all the values inside an array were not empty. Empty string or array, null value. In this series of posts, I explain 6 different approaches to achieve almost the same output using DataWeave. Part 4: Using the Arrays Module, Pattern Matching, and Function Overloading. - [How to check for empty values in an array in DataWeave | Part 3: isEmpty, filter](https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-3-isempty-filter): I had this use-case where I had to make sure all the values inside an array were not empty. Empty string or array, null value. In this series of posts, I explain 6 different approaches to achieve (almost) the same output using different DataWeave functions/operators. Part 3: Using isEmpty and filter. - [How to check for empty values in an array in DataWeave | Part 2: sizeOf, filter, isEmpty, default](https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-2-sizeof-filter-isempty-default): I had this use-case where I had to make sure all the values inside an array were not empty. Empty string or array, null value. In this series of posts, I explain 6 different approaches to achieve (almost) the same output using different DataWeave functions/operators. Part 2: Using sizeOf, filter, isEmpty, and default. - [How to check for empty values in an array in DataWeave | Part 1: sizeOf, groupBy, isEmpty, default](https://prostdev.com/post/how-to-check-for-empty-values-in-an-array-in-dataweave-part-1-sizeof-groupby-isempty-default): I had this use-case where I had to make sure all the values inside an array were not empty. Empty string or array, null value. In this series of posts, I explain 6 different approaches to achieve (almost) the same output using different DataWeave functions/operators. Part 1: Using sizeOf, groupBy, isEmpty, and default. - [Using Salesforce Search in Mule 4](https://prostdev.com/post/using-salesforce-search-in-mule-4): One of the most used actions when we work with Salesforce integrations is the use of query. But there's one action we don't use very often: the Salesforce Object Search Language (SOSL). In this post we walk through a Mule 4 application that uses SOSL to validate Contacts and Leads and decide whether to update or create records. - [DataWeave 2.0 core functions cheatsheet](https://prostdev.com/post/dataweave-2-0-core-functions-cheatsheet): A compilation of all the core functions that can be used in DataWeave 2.0 according to MuleSoft's official documentation, separated by input and output, with a link to each function's official documentation page. - [Understanding APIs (Part 6): What are HTTP Status Codes?](https://prostdev.com/post/understanding-apis-part-6-what-are-http-status-codes): There are a lot of Status Codes reserved for certain API Responses, but we will be looking at the most popular ones: 200, 201, 202, 204, 400, 401, 403, 404, and 500. - [Why should an editor review your blog posts?](https://prostdev.com/post/why-should-an-editor-review-your-blog-posts): Grammar tools aren't foolproof. Here's my perspective on why having a professional editor review your content is the best way to bullet-proof your articles from misunderstandings. - [Implementing Pagination with MuleSoft](https://prostdev.com/post/implementing-pagination-with-mulesoft): How to process n number of pages from a backend API and return the combined response back to the calling client, demonstrated with the GitHub REST API and asynchronous processing. - [Understanding APIs (Part 5): Intro to Postman and Query Parameters](https://prostdev.com/post/understanding-apis-part-5-intro-to-postman-and-query-parameters): Continuing with the last topic, URIs, we will now get started using Postman and learning what Query Parameters are, plus how HTML URL encoding works in a real-life Expedia example. - [Anypoint Platform Chrome Extension](https://prostdev.com/post/anypoint-platform-chrome-extension): A walkthrough of the features available so far in the Anypoint Platform Chrome Extension: see your Organization name, Organization id and Environment id, inspect Runtime Manager applications, view schedulers, and check alerts. - [Understanding APIs (Part 4): What is a URI?](https://prostdev.com/post/understanding-apis-part-4-what-is-a-uri): Learn what a URL and a URI really are and how they fit into our previously defined API diagram, using the public Joke API as a hands-on example. - [Understanding APIs (Part 3): What are HTTP Methods?](https://prostdev.com/post/understanding-apis-part-3-what-are-http-methods): The most popular HTTP methods are GET, POST, PUT, PATCH, and DELETE. GET retrieves data, POST creates new data, PUT updates or replaces data, PATCH updates parts of existing data, and DELETE removes data — and how each fits into the API Request and Operation. - [How to connect your Philips Hue Smart Lights with Google Calendar](https://prostdev.com/post/how-to-connect-your-philips-hue-smart-lights-with-google-calendar): Synchronize your Philips Hue Smart Lights with your Google Calendar using IFTTT so your lights turn red when you're in a meeting. - [Things to consider before buying a Philips Hue Smart Light](https://prostdev.com/post/things-to-consider-before-buying-a-philips-hue-smart-light): If you own an Amazon Alexa or Google Assistant device for your smart home, you may be looking into smart lights too. Here are the pros and cons of using Philips Hue. - [3 Simple Steps to Convert a Flat File into JSON / CSV / XML](https://prostdev.com/post/3-simple-steps-to-convert-a-flat-file-into-json-csv-xml): How to convert a Flat File into JSON, CSV, or XML using DataWeave 2.0, with Anypoint Studio 7.4 and Mule Runtime 4.2.2 — from creating the copybook to the final transformation. - [7 tips to start writing your technical blog post](https://prostdev.com/post/7-tips-to-start-writing-your-technical-blog-post): We already chose our topic and visualized our target audience. Now it's time to actually start writing! Follow these 7 simple steps to get your technical blog post going. - [Implementing NetSuite Saved Search with MuleSoft](https://prostdev.com/post/implementing-netsuite-saved-search-with-mulesoft): NetSuite is a SaaS-based ERP which allows companies to manage important business using a single tool. MuleSoft provides a NetSuite connector, which enables to automate the business process and synchronize the data between NetSuite and third-party tools. - [What is CIDR (Classless Inter-Domain Routing) in MuleSoft VPC](https://prostdev.com/post/what-is-cidr-classless-inter-domain-routing-in-mulesoft-vpc): CIDR stands for Classless Inter-Domain Routing and it's a way of allocating IP addresses or hosts in a more efficient manner. It replaces the old way of allocating IP addresses based on the class system and avoids the waste of IP Addresses. - [Mule 4 Continuous Integration using Azure DevOps](https://prostdev.com/post/mule-4-continuous-integration-using-azure-devops): How to create Continuous Integration (CI) to automatically deploy a MuleSoft application into CloudHub (CH) or On-Premise (On-prem) server. Creating a new project in Azure, setting up the RAML to generate the Mule flows, adding properties, generating a personal access token, preparing the settings.xml and pom.xml files - [Implementing Mapping Rules With MuleSoft Dedicated Load Balancer](https://prostdev.com/post/implementing-mapping-rules-with-mulesoft-dedicated-load-balancer): Dedicated Load Balancer is an optional component within the Anypoint Platform used to route HTTP and HTTPS traffic to multiple applications deployed to CloudHub workers in the VPC. Learn how to apply mapping rules on a dedicated load balancer (DLB) to redirect requests to CloudHub apps. - [Securing APIs: Two ways to apply policies for CloudHub applications](https://prostdev.com/post/securing-apis-two-ways-to-apply-policies-for-cloudhub-applications): Apply policies via Anypoint Platform's API Manager in two different ways: creating Proxy APIs, or without creating Proxy APIs. The main difference is either using the API ID in Auto-Discovery, or letting Mule create a proxy on top of your app. - [Things to consider before writing a technical blog post](https://prostdev.com/post/things-to-consider-before-writing-a-technical-blog-post): Thinking about writing your first technical article but not sure where to start? Here are some tips on choosing what to write about and defining your target audience so you can get your first post out. - [Understanding APIs (Part 2): API Analogies and Examples](https://prostdev.com/post/understanding-apis-part-2-api-analogies-and-examples): Learn about some analogies and real-life examples of APIs to understand them better, including a restaurant, a calculator, and a Human Resources (HR) API using CSV and JSON data types. - [Creating a connector and consuming it from a Mule Application](https://prostdev.com/post/creating-a-connector-and-consuming-it-from-a-mule-application): Learn what an Anypoint Connector is, why you might need a custom connector, and how to create one with Maven, configure the POM, publish it to Anypoint Exchange, and consume it from a Mule application. - [Understanding APIs (Part 1): What is an API?](https://prostdev.com/post/understanding-apis-part-1-what-is-an-api): The concept of an API can be hard to grasp. This post gives a simple explanation of what an API is, its 4 aspects (Inputs, Operations, Outputs, Data Types), and how Requests and Responses fit together — plus a diagram to refer back to. - [Reviewing Sorting Algorithms: Merge Sort](https://prostdev.com/post/reviewing-sorting-algorithms-merge-sort): Learn how to implement a Merge Sort sorting algorithm using Python. Merge Sort's time and space complexity: worst, best, average case time complexity and space complexity. Big-O Complexity Chart and more study resources to understand how to implement this sorting technique with other programming languages. - [IoT with MuleSoft: Implementing a Temperature Sensor using LED lights, Twilio, and a Raspberry PI](https://prostdev.com/post/iot-with-mulesoft-implementing-a-temperature-sensor-using-led-lights-twilio-and-a-raspberry-pi): How to implement Internet of Things (IoT) with MuleSoft: a use case that senses temperature with a Raspberry PI, sends it via Twilio, and blinks a green or red LED depending on the result. - [Cryptography Module Mule 4 - Part 1 (PGP Encryption/Decryption)](https://prostdev.com/post/cryptography-module-mule-4-part-1-pgp-encryption-decryption): Mule 4 has a Cryptography module which includes PGP, XML, and JCE. In this article, we will see the PGP technique — a cryptographic way that allows secure communication between two entities using public and private keys. - [3 simple rules & 5 examples to understand the Error Handling in Mule 4](https://prostdev.com/post/3-simple-rules-5-examples-to-understand-the-error-handling-in-mule-4): This article on Error Handling in Mule 4 will help you understand the core concept of On-Error Propagate and On-Error Continue, with three simple rules and five examples. - [How to run locally the DataWeave Playground Docker Image](https://prostdev.com/post/how-to-run-locally-the-dataweave-playground-docker-image): You may already know about the DataWeave (DW) Playground that can be used for both versions of DW: 1.0 and 2.0. I will explain how to get this Docker Image running on your laptop (even if you don't know how to use Docker). - [Parallel For-Each Scope (Mule 4)](https://prostdev.com/post/parallel-for-each-scope-mule-4): Learn how to implement the new ForEach MuleSoft component that was released in Mule 4. Read this post for information about this integration technique: how does it work, how can you implement it, how to install in your Mule palette, and how to configure Error Handling for this scope. - [Reviewing Sorting Algorithms: Insertion Sort](https://prostdev.com/post/reviewing-sorting-algorithms-insertion-sort): Learn how to implement an Insertion Sort sorting algorithm using Python. Insertion Sort's time and space complexity: worst, best, average case time complexity and space complexity. Big-O Complexity Chart and more study resources to understand how to implement this sorting technique with other programming languages. - [Dell Boomi Integrations: Using the Atom Queue Connector](https://prostdev.com/post/dell-boomi-integrations-using-the-atom-queue-connector): The Atom Queue connector is used to send and receive messages to and from Dell Boomi Integration Atom message queues. The connector supports both Point-to-Point and Publish/Subscribe messaging. For a better understanding of how Atom Queue works, I did a proof of concept. - [Understanding the "illegal base64 character" error (Java, Groovy and Mule 4 - DW 2.0)](https://prostdev.com/post/understanding-the-illegal-base64-character-error-java-groovy-and-mule-4-dw-2-0): Are you familiar with the fromBase64 or the toBase64 functions from DataWeave 2.0? What about the getUrlEncoder or the getEncoder functions from Java? Do you know the differences between the "basic" Base 64 encoding and the "URL and Filename safe" Base 64 encoding? Maybe you're here because you keep getting this error. - [Custom Modules in Mule 4 - DataWeave 2.0](https://prostdev.com/post/custom-modules-in-mule-4-dataweave-2-0): Some days ago, I started using this great functionality in DataWeave (DW) 2.0 - Mule 4, and I faced some challenges while creating the code. I'll explain what a custom module is, why you would want to use it, some examples on how you can use it, and finally, how to load properties into this module. - [Reviewing Sorting Algorithms: Selection Sort](https://prostdev.com/post/reviewing-sorting-algorithms-selection-sort): Learn how to implement a Selection Sort sorting algorithm using Python. Selection Sort's time and space complexity: worst, best, average case time complexity and space complexity. Big-O Complexity Chart and more study resources to understand how to implement this sorting technique with other programming languages. - [Software Quality is not cheap, but would you risk your company's future for the lack of it?](https://prostdev.com/post/software-quality-is-not-cheap-but-would-you-risk-your-company-s-future-for-the-lack-of-it): Learn about what is software quality, what is a quality assurance resource (QA), best practices when coding, what is the importance of testing, some software quality types and objectives: unit testing, integration testing, system testing. Functional vs. Non-functional testing. How to ensure your customer's satisfaction - [Scatter-Gather Integration Pattern (Mule 4) Part 2](https://prostdev.com/post/scatter-gather-integration-pattern-mule-4-part-2): Learn about the scatter-gather integration pattern and how to implement it in MuleSoft (Mule 4). How the input message gets processed, how to code error handling scope with this component, and how to test it using Postman. What happens if you have multiple services calls, and the configuration XML file for you to try. - [Reviewing Sorting Algorithms: Bubble Sort](https://prostdev.com/post/reviewing-sorting-algorithms-bubble-sort): Learn how to implement a Bubble Sort sorting algorithm using Python. Bubble Sort's time and space complexity: worst, best, average case time complexity and space complexity. Big-O Complexity Chart and more study resources to understand how to implement this sorting technique with other programming languages. - [5 reasons why you need an IDE (and how it can save you so much time)](https://prostdev.com/post/5-reasons-why-you-need-an-ide): What is an IDE? This post explains the concept and walks through five reasons you need one: syntax highlighting, text autocompletion, refactoring options, importing libraries, and build/compile/run — plus favorite IDE examples for different languages. - [Intro to Scatter-Gather Integration Pattern](https://prostdev.com/post/intro-to-scatter-gather-integration-pattern): What is the Scatter-Gather integration pattern? Enterprise Integration Patterns definition. Learn about how this component processes messages in MuleSoft (Mule 3 or Mule 4), when you should use scatter-gather and how does it work, why you should be using it and how to implement it and test it with Postman. - [JSON Module Component in Mule 4](https://prostdev.com/post/json-module-component-in-mule-4): The JSON Module Connector is used to validate a JSON Payload against the predefined JSON Schema of your choice. Since schema validation falls outside the scope of DataWeave Functionality, the JSON Module can be used in MuleSoft. Learn about the possible exceptions you can get when using this component. - [Intro to Regression Testing with Postman](https://prostdev.com/post/intro-to-regression-testing-with-postman): What is Regression Testing, and how can you create basic tests for your API using Postman? We cover the concept with a simple metaphor and then build successful and negative-scenario tests for the Slack API. - [Combining Objects: Concatenation in DW 2.0](https://prostdev.com/post/combining-objects-concatenation-in-dw-2-0): What is object concatenation and how to use it in Mule 4 - DataWeave (DW) 2.0. Similar to concat or + functions in other languages, in DW you can use ++ (plus plus), using {( )} and {([ ])} parentheses object destructors with or without arrays. Learn more about MuleSoft here! - [MuleSoft Training and Certification](https://prostdev.com/post/mulesoft-training-and-certification): An intro to what MuleSoft is, what the company and its products do, and how you can get certified for free through their online fundamentals training. - [Less time, less cost, less resources, more apps!](https://prostdev.com/post/less-time-less-cost-less-resources-more-apps): Mobile apps are as important as having an official site for your company, and creating them gets easier and easier. Here's a look at Ionic, a framework that lets you build cross-platform mobile apps without working twice. ## Community resources Community-built MuleSoft tools worth knowing — Chrome/VSCode extensions, themes, and reusable AI agent skills. - [Anypoint Monitor](https://marketplace.visualstudio.com/items?itemName=EdgarMoran.anypoint-monitor) — VSCode extension [Monitoring] [MuleSoft Ambassador] (by Edgar Moran): A VSCode extension that surfaces Anypoint Platform monitoring data without leaving your editor. - [Anypoint Platform Chrome extension](https://chromewebstore.google.com/detail/anypoint-platform-chrome/gofndnflkobgljnjjalmehnlamoifmhc) — Chrome extension [MuleSoft Ambassador] (by Edgar Moran): Browser helpers for the Anypoint Platform that speed up everyday navigation and inspection tasks. - [DataWeave Studio (VSCode extension)](https://marketplace.visualstudio.com/items?itemName=ashutosh-vijay.dataweave-studio) — VSCode extension [DataWeave] (by Ashutosh Vijay): The VSCode extension build of DataWeave Studio — run, test, and debug DataWeave 2.0 transforms inside your editor without Anypoint Studio, with the engine and runtime bundled in for offline use. - [DataWeave Studio for Windows](https://apps.microsoft.com/detail/9nwd4l4j7d92) — IDE [DataWeave] (by Ashutosh Vijay): The Windows desktop build of DataWeave Studio, distributed through the Microsoft Store — a local IDE for running, testing, and debugging DataWeave 2.0 transforms without Anypoint Studio. - [DWCode](https://dwcode.vercel.app/) — Challenges [DataWeave, Learning] (by Bighnesh Kumar Sahoo and Priyanshu Dhawan): A browser-based DataWeave practice platform — coding problems, a playground, contests, and a leaderboard to sharpen your DataWeave skills. - [FluxMule](https://chromewebstore.google.com/detail/fluxmule/imnkaohplcoblbkccemmdbbpbnenhjec) — Chrome extension (by Alexander Deroui Villar): A Chrome extension that streamlines working inside the Anypoint Platform right from your browser. - [Integration Trails](https://app.integrationtrails.io/challenges) — Challenges [DataWeave, Learning] [MuleSoft Ambassador] (by Patryk Bandurski): A hands-on learning platform for integration developers — practice DataWeave and MuleSoft skills through graded challenges, structured trails, and a gamified XP leaderboard. - [Matt Pocock Skills](https://github.com/mattpocock/skills) — Agent skills [AI] (by Matt Pocock): A collection of AI agent skills I reach for a lot — TDD, debugging, code review, domain modeling, and more. - [MCLS Mule Secure Properties](https://marketplace.visualstudio.com/items?itemName=MasterCompcouk.mcls-mule-secure-properties) — VSCode extension [Security] (by Lukasz Skowronek): A VSCode extension that previews, encrypts, and decrypts MuleSoft secure properties in YAML and .properties files. - [Mule XML Formatter](https://marketplace.visualstudio.com/items?itemName=SravanNerella.mule-xml-formatter) — VSCode extension [Formatter] [MuleSoft Ambassador] (by Sravan Nerella): A VSCode extension that formats Mule XML config files consistently — tidying indentation and structure so your flow XML stays clean and readable. - [MuleFD](https://github.com/manikmagar/mulefd) — Tool [CLI, Visualizer] [MuleSoft Ambassador] (by Manik Magar): A CLI tool that reads Mule 3/4 app config and generates visual flow diagrams — mapping how flows connect, spotting unused or recursive flows, and untangling flow spaghetti. - [MuleFlow BizView](https://chromewebstore.google.com/detail/muleflow-bizview/jjglahhpajacblleceggnmgjdoaaehpn) — Chrome extension [Visualizer] (by Ronald Vega): A Chrome extension that turns a MuleSoft project into interactive diagrams — an overview map of how flows connect and left-to-right flowcharts for each flow — and searches across the business logic (DataWeave, SQL, HTTP parameters). Exports diagrams to Draw.io, LucidChart, or PNG. - [MuleFlow Visualizer for Bitbucket](https://chromewebstore.google.com/detail/muleflow-visualizer/kfnggnohaknfjipdnkkfibdgkhecbfkg) — Chrome extension [Visualizer] (by Ronald Vega): A Chrome extension that renders MuleSoft XML files as flow diagrams directly in Bitbucket Cloud — showing flows, subflows, and MUnit tests, with pull-request diff support and a component search. - [MuleFlow Visualizer for GitHub](https://chromewebstore.google.com/detail/muleflow-visualizer-for-g/miooblfebdbnpnliffkpmbdgnbhomgjf) — Chrome extension [Visualizer] (by Ronald Vega): A Chrome extension that renders MuleSoft XML files as flow diagrams directly in GitHub — on both repository files and pull-request diffs — with a component search and a property inspector. - [MuleSoft Community Theme](https://marketplace.visualstudio.com/items?itemName=ProstDev.mulesoft-community-theme) — VSCode theme [MuleSoft Ambassador] (by Alex Martinez and NaveenKumar Namachivayam): A VSCode color theme tuned for MuleSoft development — clear, comfortable syntax colors for DataWeave and XML config. - [Muley Solutions Tools](https://muley.solutions/tools) — Tool [AI] (by Philipp Schöne and Farhan Modjdehi): A curated directory of working MuleSoft Agent Fabric and Anypoint Platform tools and interactive demos — agentic asset designers, an Omni Gateway policy marketplace, agent/MCP testing toolkits, network tracers, and connectors — filterable by category and each linking out to the live tool or demo. - [Muleye for Android](https://play.google.com/store/apps/details?id=com.moran.anypointmobile) — Mobile app [Monitoring] [MuleSoft Ambassador] (by Edgar Moran): An Android app for monitoring and managing the Anypoint Platform from your phone — check application status, runtime versions, and replicas, stream and filter logs (ERROR/WARN/INFO/DEBUG), view metrics, start/stop/restart deployments, and switch across environments, accounts, and business groups. Supports CloudHub 1.0, CloudHub 2.0, and Hybrid apps. - [Muleye for iOS](https://apps.apple.com/us/app/muleye/id6752311018) — Mobile app [Monitoring] [MuleSoft Ambassador] (by Edgar Moran): An iOS app for monitoring and managing the Anypoint Platform from your phone — check application status, runtime versions, and replicas, stream and filter logs (ERROR/WARN/INFO/DEBUG), view metrics, start/stop/restart deployments, and switch across environments, accounts, and business groups. Supports CloudHub 1.0, CloudHub 2.0, and Hybrid apps. - [Official DataWeave Language Slack Workspace](https://join.slack.com/t/dataweavelanguage/shared_invite/zt-1ewv2igp0-3ZiqQqaMdO_utwaEjxBpTw) — Slack [DataWeave] (by MuleSoft): A community Slack workspace focused on the DataWeave language — ask questions, share transforms, and connect with other DataWeave developers. The link is an open invite to join. - [Official MuleSoft Community Slack Workspace](https://docs.google.com/forms/d/e/1FAIpQLScfuc3_R8sEl23xLkZBPIs6n7--HFhyuZewJiJKsKzQbnY9HQ/viewform) — Slack (by MuleSoft): A community Slack workspace for MuleSoft developers to ask questions, share tips, and connect. The link opens a Google Form to request an invite. - [ProstDev Skills](https://github.com/ProstDev/skills) — Agent skills [AI] [MuleSoft Ambassador] (by Alex Martinez): The AI agent skills I use for MuleSoft content and development, packaged so you can install and run them yourself. - [Upendra's MuleSoft Tools](https://upendra-thunuguntla.github.io/#tools) — Tool [Formatter, Security] (by Upendra Thunuguntla): A growing collection of free, browser-based MuleSoft dev tools — a Secure Properties generator, JSON↔RAML and RAML↔OAS converters, YAML↔Properties converters, a MuleSoft log to cURL converter, a Mule XML SDK helper, a cron expression builder, and more. ## Community blogs & channels MuleSoft community creators worth following — blogs, YouTube channels, portfolios, and newsletters. Entries marked [MuleSoft Ambassador] are on the official MuleSoft Ambassadors roster. - [AI Picked, Alex Approved](https://www.linkedin.com/newsletters/ai-picked-alex-approved-7348737640038350849/) — Newsletter [MuleSoft Ambassador] (by Alex Martinez): MuleSoft, Salesforce, AI, and Claude. News plus honest, practitioner takes, with help from the machines. - [Another Integration Blog](https://medium.com/another-integration-blog) — Blog: A multi-author MuleSoft community publication on Medium — hands-on integration posts spanning CloudHub 2.0, PGP data-in-transit security, VM vs. Anypoint MQ messaging patterns, and automating Anypoint API Manager, alongside AI/Agentforce pieces on MuleSoft Vibes, the Omni Gateway, and governing REST APIs as MCP tools. - [Between Two Mules](https://www.youtube.com/@betweenTwoMules) — YouTube [MuleSoft Ambassador] (by Ismeet Kaur and Shubham Kalsi): Ismeet Kaur and Shubham Kalsi’s MuleSoft channel — a mix of hands-on tutorials and a podcast: a multi-part DataWeave series (data types, selectors, composite/complex types, flow control), MuleSoft batch processing, MUnit integration testing, an RPA series, and Anypoint VPC setup, alongside "Muley" podcast episodes and Montreal/Jaipur meetup recordings with guests from the MuleSoft community. - [Bridging the Gap](https://bridgingthegap.eu.com/) — Blog (by Karol Skrzymowski): A vendor-agnostic blog on enterprise application integration — integration patterns and architectural styles (event-driven, broker, API-led), domain-driven design, system coupling, and the sociotechnical side of integration work. - [Bridging the Gap](https://www.youtube.com/@BridgingTheGap-eu-com) — YouTube (by Karol Skrzymowski): The video home of Bridging the Gap, including the "Loosely Coupled" live-stream series where guests discuss API design, cognitive load, stakeholder management, and integration careers. - [CodeByMat](https://www.youtube.com/@codebymat) — YouTube (by Matias Ledesma): Matias Ledesma’s MuleSoft channel — a Spanish-language "MuleSoft: Curso Básico" beginner series covering Anypoint Studio and Code Builder setup, transformers, and flow-control scopes, alongside an introduction to DataWeave fundamentals. - [DecipherMiddleware](https://blog.deciphermiddleware.in/) — Blog [MuleSoft Ambassador] (by Pranav Davar): An integration-engineering blog spanning MuleSoft and Oracle SOA/OIC — Anypoint Platform how-tos (Auth0 SSO, CloudHub 2.0 custom domains, DataWeave logging, connecting CLI coding agents to the MuleSoft MCP server), plus Oracle Database and PL/SQL posts and the occasional AI or Raspberry Pi side project. - [Edgar Moran on Medium](https://yucelmoran.com/) — Blog [MuleSoft Ambassador] (by Edgar Moran): Edgar Moran’s Medium (on his own yucelmoran.com domain) — hands-on MuleSoft and integration posts spanning reading Excel files from SharePoint via the Microsoft Graph API, securing a MuleSoft MCP server with the managed Flex Gateway, dynamic GraphQL requests with DataWeave, and the REST Connect connector (RAML to connector), alongside pieces on his Anypoint Monitor VSCode extension, Databricks Delta Sharing, and the tech-lead journey. - [Explore & learn by NK](https://www.youtube.com/@mdnaseemk) — YouTube (by Naseem Khan): Naseem Khan’s MuleSoft channel — beginner tutorials (API-led connectivity, Anypoint Code Builder, RAML vs. OAS, Object Store TTL) and AI-integration demos (MuleSoft Vibes custom rules, the Omni Gateway and MCP Bridge, generating MUnit tests), plus a developer-to-architect roadmap, Mule 4 interview Q&A, and Bhagalpur/Bhubaneswar MuleSoft meetup recordings. - [Florencia Cattelani on Medium](https://medium.com/@florcattelani) — Blog [MuleSoft Ambassador] (by Florencia Cattelani): Florencia Cattelani’s Medium (in Spanish) — strategy-and-adoption pieces on AI and integration: AI maturity levels and how to prepare for an AI project, Agentforce, Data Cloud and MuleSoft as engines of change, calculating the business value of MuleSoft, RPA adoption, and Dreamforce recaps. - [Flow State](https://www.linkedin.com/newsletters/flow-state-7454156473347022848) — Newsletter [MuleSoft Ambassador] (by Patryk Bandurski): A LinkedIn newsletter on AI-driven integration and MuleSoft tips. - [I AM U in Tech](https://www.youtube.com/@IAMUTech) — YouTube [MuleSoft Ambassador] (by Itzel Andrea Moo): Itzel Moo’s Salesforce and MuleSoft channel — beginner-friendly, high-energy study-group sessions and explainers, including a "Salesforce Unlocked" intro series, Service Cloud case-management study groups, a fun guide to profiles, roles, and permission sets, hyperautomation vs. automation, and a step-by-step on scheduling your Salesforce certification exam. - [Indresh Gupta on Medium](https://medium.com/@indreshgupta01) — Blog (by Indresh Gupta): Indresh Gupta’s Medium — MuleSoft and integration posts spanning beginner guides, DataWeave 2.0 practice sessions, and deeper pieces on integration patterns (the sidecar proxy pattern, underrated patterns every developer should know), the correlation and tracing module, Anypoint Partner Manager for B2B, and performance pitfalls like using foreach to aggregate arrays in Mule 4. - [Integrise](https://www.youtube.com/@Integrise) — YouTube [MuleSoft Ambassador] (by Kseniia Tarantsova): Kseniia Tarantsova’s MuleSoft channel — a MAC Project (MuleSoft AI Connectors) demo series wiring MuleSoft to AI (the Whisperer speech-to-text/text-to-speech, Webcrawler, and Einstein Trust Layer connectors, AI Chain + Inference flows, building Agentforce agents), alongside DataWeave best-practices and Tree Module tutorials and Maven/POM-BOM fundamentals for Mule developers. - [Jitendra Bafna on DZone](https://dzone.com/users/2963306/jacky85.html) — Blog [MuleSoft Ambassador] (by Jitendra Bafna): Jitendra Bafna’s DZone profile — a deep back catalog of MuleSoft and integration tutorials: exception strategies and error handling in Anypoint Studio, Parallel ForEach vs. ForEach, publishing common assets to Exchange and Nexus, securing data with the Mule Credentials Vault and PGP, MUnit testing, RAML API design, and Apache Camel data-transformation pieces. - [Jitendra Bafna on Medium](https://medium.com/@jitendra.bafna) — Blog [MuleSoft Ambassador] (by Jitendra Bafna): Jitendra Bafna’s Medium — a MuleSoft & AI series covering the Omni API Gateway, Agent Fabric, the Agent Scanner, and MCP Server/Bridge, alongside plain-language explainers on federated AI and edge AI. - [Juan Cruz Basso](https://www.youtube.com/@JuanCBasso) — YouTube [MuleSoft Ambassador] (by Juan Cruz Basso): A bilingual (Spanish/English) MuleSoft channel — opinion pieces on API-led and API governance, walkthroughs of Mule Vibes, Agent Fabric, and the MCP Server, plus MuleSoft/Agentforce meetup and workshop recordings. - [M² – MuleSoft MasterClass](https://www.youtube.com/@M2MuleSoftMasterClass) — YouTube [MuleSoft Ambassador] (by Manisha Patil): Manisha Patil’s MuleSoft channel — step-by-step Anypoint Code Builder walkthroughs (importing a Studio project, scaffolding and designing a REST API spec with RAML, implementing and deploying an API to CloudHub), Mule 4 Salesforce Connector tutorials (query, upsert, OAuth2 auth-code create), transaction management in Mule 4, and MCP server demos (tool-listener implementation, connecting an MCP server to Cursor AI). - [Matthias Transier on Medium](https://medium.com/@matthias.transier) — Blog [MuleSoft Ambassador] (by Matthias Transier): Matthias Transier’s Medium — hands-on Mule 4 developer posts, including agentic coding with Anypoint Studio, streaming large files to AWS S3, integrating SAP with MuleSoft, sending application logs to RabbitMQ with JSON Logger, and mocking errors in MUnit. - [Mehak Garg on Medium](https://medium.com/@mehakg911) — Blog (by Mehak Garg): Mehak Garg’s Medium — hands-on Mule 4 developer posts, including a series on building intelligent integrations with MuleSoft Vibes, end-to-end AI-assisted API development with CurieTech, a custom connector for HashiCorp Vault and a custom policy on Java 17, a TestCase-first approach to MUnit tests, and notes on the Mule Java 17 transition. - [Mule Ace Academy](https://www.youtube.com/@MuleAceAcademy) — YouTube [MuleSoft Ambassador] (by Ashish Pardhi): Ashish Pardhi’s MuleSoft channel focused on Agent Fabric and agentic AI — building and deploying an Agent Network 2.0 to CloudHub, MCP servers with the MCP Connector, A2A end-to-end demos, and Omni Gateway custom policies (Rust + WASM), alongside infrastructure deep dives on Runtime Fabric, Terraform, native gRPC with APIkit, and Intelligent Document Processing. - [Mule4Developer](https://medium.com/@Mule4Developer) — Blog (by Darvesh Lodhi): Darvesh Lodhi’s Medium — hands-on Mule 4 developer posts spanning core integration and AI: building an Omni Gateway proxy API, generating daily transaction files across S3/Azure/SFTP, converting HTML to JSON with generic DataWeave, OpenAPI (OAS) in Mule 4, Salesforce Change Data Capture with MuleSoft, RAML URI vs. query parameters, and fixing connection timeouts and slow API calls. - [Mule4Developer](https://www.youtube.com/@mule4developer) — YouTube (by Darvesh Lodhi): Darvesh Lodhi’s MuleSoft channel — beginner-friendly Anypoint Studio and DataWeave tutorials (creating your first Mule project, Transform Message, cache scope, HTTPS endpoints, map/filter/flatten) alongside short quick-tips and a walkthrough of building an Omni Gateway API proxy to protect any external REST API. - [MuleSoft Unleashed](https://www.youtube.com/@stutitank06) — YouTube [MuleSoft Ambassador] (by Stuti Tank): Stuti Tank’s MuleSoft channel — a daily "MuleSoft DataWeave 2.0" tutorial series (external files, large-payload streaming, CSV/SOAP/multipart handling, performance tuning) plus AI-integration explainers on Agent Fabric, the Omni Gateway, MCP tool discovery, and MuleSoft Vibes. - [MuleSoft, AI & Agentforce – Zero to Hero Academy](https://www.youtube.com/@muletechnologyacademy-zero5625) — YouTube [MuleSoft Ambassador] (by Jitendra Bafna): Jitendra Bafna’s YouTube academy — a long-running "MuleSoft & AI" episode series on MCP servers, the Omni Gateway, Agent-to-Agent (A2A) integration, and MuleSoft + Valkey/Redis integration. - [MuleSoft-TechZone](https://youtube.com/@mulesofttechzone) — YouTube [MuleSoft Ambassador] (by Sravan Lingam): A YouTube channel of hands-on MuleSoft tutorials — Mule 4 fundamentals and Anypoint Code Builder, plus step-by-step series on MuleSoft Agent Fabric, Omni Gateway, and MCP, and Agentforce/Agentblazer certification walkthroughs. - [MuleTrains](https://www.mule.org.in/) — Blog (by Kancharla Sandeep Sai Kumar): A MuleSoft tutorials blog spanning core integration and agentic AI — DataWeave how-tos (the lines function, finding duplicate values in an array), Mule 4 walkthroughs (generating QR codes with ZXing, integrating Okta OAuth 2.0 OIDC), production-issue troubleshooting, and a beginner series on the MuleSoft DX MCP server, MCP servers, and navigating an Agent Network. - [Pranav Davar on Medium](https://medium.com/@pranavdavar9) — Blog [MuleSoft Ambassador] (by Pranav Davar): Pranav Davar’s Medium — hands-on MuleSoft and integration posts, including installing the DataWeave CLI on Windows, custom attributes in Anypoint Partner Manager, and a deep dive on Object Store V2 expiration. - [QAInsights](https://qainsights.com/) — Blog (by NaveenKumar Namachivayam): A performance-testing and QA blog centered on Apache JMeter and, increasingly, AI in performance engineering — building an MCP server for JMeter docs, getting AI coding CLIs to test efficiently, and hands-on comparisons of AI dev tools (Feather Wand, Codex, Claude Code) for JMeter work. - [QAInsights](https://www.youtube.com/@QAInsights) — YouTube (by NaveenKumar Namachivayam): A performance-testing channel on Apache JMeter and AI in performance engineering — JMeter plugin development (AI error-analyst listeners, Ollama assertions, custom functions), JMeter tooling (JMeter Studio, the Prism multi-tab and SuperKey command-center plugins, the PerfAtlas plugin directory), and LLM speed/benchmarking demos. - [Rahul Kumar on Medium](https://medium.com/@rahulkumarofficial) — Blog (by Rahul Kumar): Rahul Kumar’s Medium — MuleSoft developer posts, including a multi-part "Mastering Modern MuleSoft Batch Processing" series (DLQ architecture, engine configuration, breaking the synchronous barrier), API policy and DataWeave 2.0 guides, tuning Mule for massive ETL workloads, and fixing common Salesforce errors. - [Sravan Nerella on Medium](https://medium.com/@sravannerella007) — Blog [MuleSoft Ambassador] (by Sravan Nerella): Sravan Nerella’s Medium — posts on MuleSoft Vibes and agent skills, spec-driven development, writing MUnit tests with AI agents, and integration-architecture explainers (reverse proxies vs. load balancers vs. gateways). - [Stuti Tank on Medium](https://medium.com/@stutitank06) — Blog [MuleSoft Ambassador] (by Stuti Tank): Stuti Tank’s Medium — MuleSoft posts on building MCP servers to expose Mule flows as AI tools, Anypoint Platform deployment, VM vs. Anypoint MQ messaging patterns in Mule 4, and advanced DataWeave memory management. - [Suman Chatterjee on Medium](https://medium.com/@sumanc) — Blog [MuleSoft Ambassador] (by Suman Chatterjee): Suman Chatterjee’s Medium — MuleSoft and integration posts alongside broader engineering topics: MuleSoft anti-patterns and optimizations, MDC and NDC logging in MuleSoft, the control plane vs. runtime/data plane, networking fundamentals (IPsec, SSL/TLS), algorithm primers (greedy algorithms, time and space complexity), and AI pieces like vectorless retrieval-augmented generation. - [Upendra Thunuguntla on Medium](https://upendra-thunuguntla.medium.com/) — Blog (by Upendra Thunuguntla): Upendra Thunuguntla’s Medium — hands-on MuleSoft developer posts on DataWeave scripting, RAML datatypes, CloudHub schedulers, Mule runtime migration (4.4 → 4.6 on JDK 17), and observability with Grafana. - [Your Integration Buddy](https://www.youtube.com/@YourIntegrationBuddy) — YouTube [MuleSoft Ambassador] (by Vikas Sharma): A MuleSoft tutorial channel spanning AI and core integration — Agent Fabric, securing an MCP server with MuleSoft, MuleSoft Vibes setup, and the Agent-to-Agent (A2A) protocol, alongside deep dives on Intelligent Document Processing, custom policy implementation, CloudHub 2.0 migration, and Anypoint Code Builder walkthroughs. ## Community books MuleSoft and integration books worth reading, written by people in the community. Entries marked [MuleSoft Ambassador] have at least one author on the official MuleSoft Ambassadors roster. - [MuleSoft for Salesforce Developers](https://www.packtpub.com/en-us/product/mulesoft-for-salesforce-developers-9781835882337) — Packt, 2025 [MuleSoft Ambassador] (by Akshata Sawant and Arul Christhuraj Alphonse): A hands-on guide to MuleSoft for developers coming from the Salesforce ecosystem — API-led connectivity, building and deploying integrations on Anypoint Platform, DataWeave transformations, connecting MuleSoft with Salesforce, and preparing for MuleSoft certification, with newer material on AI-driven API solutions. - [1st edition (2022)](https://www.packtpub.com/en-us/product/mulesoft-for-salesforce-developers-9781801074223), co-authored by Alex Martinez - [MuleSoft Platform Architect's Guide](https://www.packtpub.com/en-us/product/mulesoft-platform-architects-guide-9781805129622) — Packt, 2024 [MuleSoft Ambassador] (by Jitendra Bafna and Jim Andrews): A practitioner guide to architecting on Anypoint Platform — API-led connectivity and application networks, deployment models (CloudHub 1.0/2.0, Runtime Fabric, on-premises), high availability and disaster recovery, security and API management, and the operational side of running MuleSoft at scale. ## Topics Posts are organized by category (the kind of post) and tags (the subject). ### Categories - [Challenges](https://prostdev.com/category/challenges): 8 posts - [Tutorials](https://prostdev.com/category/tutorials): 83 posts - [Guides](https://prostdev.com/category/guides): 41 posts - [Opinion](https://prostdev.com/category/opinion): 14 posts - [News](https://prostdev.com/category/news): 7 posts ### Tags - [AI](https://prostdev.com/tag/ai): 12 posts - [Algorithms](https://prostdev.com/tag/algorithms): 4 posts - [Anypoint Code Builder](https://prostdev.com/tag/anypoint-code-builder): 13 posts - [Anypoint Exchange](https://prostdev.com/tag/anypoint-exchange): 2 posts - [Anypoint MQ](https://prostdev.com/tag/anypoint-mq): 2 posts - [Anypoint Platform](https://prostdev.com/tag/anypoint-platform): 14 posts - [Anypoint Studio](https://prostdev.com/tag/anypoint-studio): 22 posts - [API](https://prostdev.com/tag/api): 15 posts - [APIKit](https://prostdev.com/tag/apikit): 3 posts - [AWS](https://prostdev.com/tag/aws): 2 posts - [CI/CD](https://prostdev.com/tag/ci-cd): 8 posts - [Claude Code](https://prostdev.com/tag/claude-code): 9 posts - [CloudHub](https://prostdev.com/tag/cloudhub): 13 posts - [Content Creation](https://prostdev.com/tag/content-creation): 7 posts - [CurieTech AI](https://prostdev.com/tag/curietech-ai): 3 posts - [cURL](https://prostdev.com/tag/curl): 2 posts - [Data Cloud](https://prostdev.com/tag/data-cloud): 5 posts - [DataWeave](https://prostdev.com/tag/dataweave): 51 posts - [Docker](https://prostdev.com/tag/docker): 8 posts - [Error Handling](https://prostdev.com/tag/error-handling): 2 posts - [Flex Gateway](https://prostdev.com/tag/flex-gateway): 3 posts - [GitHub](https://prostdev.com/tag/github): 7 posts - [GitHub Actions](https://prostdev.com/tag/github-actions): 6 posts - [Groovy](https://prostdev.com/tag/groovy): 2 posts - [Hardware](https://prostdev.com/tag/hardware): 2 posts - [HTTP](https://prostdev.com/tag/http): 3 posts - [Java](https://prostdev.com/tag/java): 4 posts - [JMS](https://prostdev.com/tag/jms): 4 posts - [JWT](https://prostdev.com/tag/jwt): 2 posts - [Kafka](https://prostdev.com/tag/kafka): 2 posts - [Kubernetes](https://prostdev.com/tag/kubernetes): 2 posts - [macOS](https://prostdev.com/tag/macos): 4 posts - [Markdown](https://prostdev.com/tag/markdown): 5 posts - [Maven](https://prostdev.com/tag/maven): 3 posts - [MuleSoft](https://prostdev.com/tag/mulesoft): 117 posts - [MUnit](https://prostdev.com/tag/munit): 4 posts - [Oracle](https://prostdev.com/tag/oracle): 6 posts - [Postman](https://prostdev.com/tag/postman): 5 posts - [Python](https://prostdev.com/tag/python): 5 posts - [RAML](https://prostdev.com/tag/raml): 4 posts - [REST](https://prostdev.com/tag/rest): 5 posts - [Runtime Fabric](https://prostdev.com/tag/runtime-fabric): 2 posts - [Salesforce](https://prostdev.com/tag/salesforce): 12 posts - [SAML](https://prostdev.com/tag/saml): 2 posts - [Security](https://prostdev.com/tag/security): 5 posts - [Smart Home](https://prostdev.com/tag/smart-home): 3 posts - [Solace](https://prostdev.com/tag/solace): 4 posts - [Spring](https://prostdev.com/tag/spring): 2 posts - [SSO](https://prostdev.com/tag/sso): 2 posts - [Testing](https://prostdev.com/tag/testing): 2 posts - [Visual Studio Code](https://prostdev.com/tag/visual-studio-code): 10 posts ## Full content - [llms-full.txt](https://prostdev.com/llms-full.txt): All posts and video transcripts concatenated as Markdown.