Integrating agents with Experiencify for persistent student memory

Hi All
I’m planning to integrate MindStudio agents inside an Experiencify course platform (https://xperiencify.com) and want to make sure I’m using the most efficient and reliable setup for both performance and user experience.

Here’s the outcome I’m aiming for:
Each logged‑in Experiencify student should be able to interact with their own version of the embedded MindStudio agent, while keeping individual memory and conversation history persistent across sessions and devices.

From what I understand, using MindStudio’s Managed Users API with signed URLs would be the correct approach. However, Experiencify doesn’t directly expose logged‑in student data through client‑side JavaScript, which means maintaining long‑term memory requires a server‑side integration as the middleware.

I’d really appreciate any official guidance, best‑practice examples, or documentation that could help streamline this integration — especially around recommended architecture for non‑WordPress use cases like Experiencify

Thanks,

Bozhidar

Hi @BozhidarBatev,

Thanks for the post.

For Signed URLs embedding to work, your backend needs to pass a Unique User Identifier to your MindStudio Agent via the API. The Agent uses that UID to securely return a user-specific Signed URL. As long as Experiencify can provide any kind of stable UID, Signed URLs embedding will work as expected.

Platforms vary a lot, so there isn’t a single guide that fits every site. In practice, most builders, including SquareSpace, Bubble, Wix, and most others can pass a UID via API. A common approach looks like this:

  • Frontend authenticates the user and sends a request to your backend
  • Backend calls the MindStudio API with the user’s UID, receives the Signed URL, then returns it to the frontend
  • Frontend displays the embedded agent to the user

Thnaks @Alex_MindStudio

I keep encountering “There was an error loading this agent. Please try again.” even after extensive troubleshooting.

What I am trying to achieve:
Embed a published agent from my MindStudio workspace in Experiencify using the recommended managed user flow (signed access URLs), as described in your documentation.

My agent details:

  • Agent ID: cc469ac8-e8c5-44e9-8a00-d7f4cf172773

  • API Key: (can provide securely if needed)

  • Agent Status: Published (Live)

  • Main Workflow: main.flow

  • Run Mode: Webhook

Reproduction steps:

  1. I use the API to generate a signed access URL for a managed user.

  2. I’ve confirmed the API response from MindStudio successfully returns a signed URL, e.g.:
    https://app.mindstudio.ai/agents/cc469ac8-e8c5-44e9-8a00-d7f4cf172773/run?SignedAccessKey=Signed-sk_xxxx&appId=cc469ac8-e8c5-44e9-8a00-d7f4cf172773

  3. When I open this URL in my browser (either directly or embedded in an iframe), I consistently see:

    “There was an error loading this agent. Please try again.”

  4. The managed user (such as “testuser1”) is registered and visible under “Managed Users” for the agent.

What I have already tested/tried:

  • Verified agent is published and using the correct live workflow.

  • Set workflow run mode to Webhook.

  • Used multiple browsers/private windows, and direct linking (not just iframe).

Can you please:

  1. Confirm my agent and API Key are fully enabled for signed access/managed user embedding.

  2. Check if there are any account-side or agent-side restrictions that need to be lifted for embedding.

  3. Advise if additional workflow, agent settings, or permissions are required on my side to allow managed users to launch this agent via signed access URLs.

Thank you so much for your support—I’m happy to supply further technical details or screenshots as needed to resolve this.

Bozhidar

I forgot to mention it…

I am using make.com to request signed URLs for managed users from the MindStudio API.

My Make.com scenario:

    1. Receives a webhook call with the user’s email (userId) from Experiencify (my course platform).

    2. Sends a POST request to https://api.mindstudio.ai/developer/v2/generate-signed-access-url with:

      text
      

      {
      "agentId": "cc469ac8-e8c5-44e9-8a00-d7f4cf172773",
      "userId": "testuser1"
      }

    3. Successfully receives a signed URL in the url field, such as:
      https://app.mindstudio.ai/agents/cc469ac8-e8c5-44e9-8a00-d7f4cf172773/run?SignedAccessKey=Signed-sk_xxxx&appId=cc469ac8-e8c5-44e9-8a00-d7f4cf172773

    4. I embed or open this signed URL in the browser (or inside an iframe in Experiencify), but always see:

      “There was an error loading this agent. Please try again.”

    5. The managed user (such as “testuser1”) does appear under “Managed Users” in the MindStudio dashboard, demonstrating that the workflow is correctly registering the user.

Hi @BozhidarBatev,

Thank you for sharing these details with me!

I can confirm your Agent and Workspace don’t have any embedding restrictions, and everything appears to be working correctly. You can also verify that by going to the Embedding tab in your Agent, clicking the link icon next to a Managed User, and generating a Signed URL. You can also paste a previously returned Signed URL directly into your browser to confirm the Agent loads as expected.

From what you’ve described, it sounds like the src attribute of your iframe isn’t being updated with the new Signed URL and is still using the placeholder link. Make sure this line is refreshed dynamically each time a new Signed URL is generated:

<iframe
  width="750"
  height="500"

  //This line needs to be updated dynamically
  src="https://app.mindstudio.ai/agents/your-agent-id/run?SignedAccessKey=Signed-XXXXXX..."

  allow="autoplay;clipboard-write;picture-in-picture"
  frameborder="0"
  allowfullscreen
></iframe>

Thanks @Alex_MindStudio ! I found the error and works like a charm. Just wondering why it is loaded in dark mode even when account settings are set up to Light mode? Not a big deal, just asking if that’s how it is supposed to be.

Hi @BozhidarBatev,

Glad to hear it’s working now!

Embedded Agents automatically follow your browser’s light or dark mode. If your browser is set to dark mode, the embedded Agent will also appear in dark mode.