Mindspace – Salesforce & AI Specialist Assessment

Protected Content

Enter the access code to view this assessment.

mindspace

Salesforce & AI Specialist Assessment

Technical Assessment – Warsaw Position
Total time: 90 minutes Questions: 4 Weight: Q1 40% · Q2–Q4 20% each

Before you begin

This assessment is designed to test how you think, not what you can look up. We’re interested in the “why” behind your decisions – not memorized answers.

There are no trick questions. There is often more than one good answer. We value clarity over length.

Ground rules
  • Question 1 is hands-on – you’ll build something, deploy it, and send us the links
  • Questions 2–4 are written – answer in a document (English), keep it concise
  • You may use AI tools for coding in Q1 – but you must understand what every part does
  • Do not use AI to generate your written answers for Q2–Q4 – we can tell
  • Bonus points for examples from your own experience
1
Build & Deploy – Your Mindspace Project
Vercel GitHub Salesforce API Architecture 45 min 40%

Imagine you’ve just joined Mindspace and want to build a small internal tool that helps the team work better with Salesforce data. You decide what it does.

It could be a dashboard, a simple data viewer, a form that pushes data somewhere, a monitoring tool – anything that makes sense for a flex-workspace company running its sales and operations on Salesforce.

What we need from you

  1. Pitch it – In your README, explain in 2–3 sentences: what does this tool do, and why would Mindspace need it?
  2. Build it – A working web application deployed to a live URL
  3. Explain it – Your README should describe the architecture so that another developer can understand the project in under 2 minutes

Technical requirements

  • GitHub – Public repository with a meaningful commit history (not a single commit)
  • Vercel – Deployed and accessible via a live link
  • Server-side API route – Your app must have at least one /api/ route that runs server-side. It should return JSON. The data can be mock/simulated – we don’t expect a live Salesforce connection
  • Environment variable – At least one env var configured in Vercel (e.g. SALESFORCE_INSTANCE_URL), even if the data is mocked. It must not be hardcoded in the source
  • UI – Something visual that consumes the API response. Doesn’t need to be pretty – needs to work
The idea matters. We’re not looking for the most complex app – we’re looking for someone who can identify a real problem, propose a sensible solution, and build it end to end. A simple tool that solves a real need beats an impressive-looking demo with no clear purpose.

What we’re actually evaluating

Problem Thinking
Did you identify a real use case? Can you explain why it matters?
Architecture Understanding
Do you know why the API route is server-side? What env vars protect?
Deployment Pipeline
GitHub → Vercel flow. Commits, build, deploy – do you understand the chain?
Salesforce Awareness
Does your mock data feel realistic? Would this connect to a real org?

Final written question

At the bottom of your README (or in a separate section), answer this:

“If I were connecting this to a real Salesforce org – what would I need to change, and what challenges would I expect?”

On using AI tools: You’re welcome to use Cursor, Copilot, Claude, or any AI tool to help you code. But in the README and in the written question above, we expect to see that you understand what every piece does and why. “I used AI to scaffold this” is fine. “I’m not sure why this file exists” is not.
Submit:
  • Link to your GitHub repository
  • Link to the live Vercel deployment
2
What happens when a record is saved?
Salesforce Internals 15 min 20%
Scenario

A sales manager updates an Opportunity in Salesforce and changes the Stage to “Closed Won”. At that moment, the following are all configured on the Opportunity object:

  • Validation Rule – checks that the Location field is not empty
  • Before-Save Flow – sets the Signed_Date field to today
  • After-Save Flow – creates a new Contract record based on the Opportunity
  • Apex Trigger (after update) – sends a notification to Slack
  • Process Builder (legacy) – updates a field on the related Account

Questions

  1. Order of execution: Arrange all five items above in the order Salesforce actually runs them. Explain why the order matters – what would break if it were different?
  2. Cascading: The After-Save Flow creates a Contract. That Contract also has its own Flow that fires on creation (e.g., to auto-generate related line items). What’s the risk here? How would you guard against it?
  3. Debugging: A user reports: “My Opportunity moved to Closed Won, but no Contract was created.” Give three possible causes, ranked from most likely to least likely.
3
Design a data model – Discount Architecture
Data Architecture Salesforce Design 15 min 20%

This question tests architectural thinking. You do not need prior knowledge of our system – we’re looking at how you reason about data design.

Business requirement

A flex-workspace company (like Mindspace) allows multiple discount types to be applied to a single contract at the same time: a Launch Discount for new buildings, a Commitment Discount for long-term deals, and a Manual Discount that a market manager applies.

Each discount can apply to different month ranges – for example: Launch Discount of 30% for months 1–6, Commitment Discount of 10% for months 1–24, and a Manual Discount of 5% for month 1 only.

The finance team needs to know, for each month: what was the price before discounts, after discounts, and the revenue impact of each individual discount.

Questions

  1. Design the model: Sketch out (text, diagram, or both) the objects, key fields, and relationships you’d build to support this. Explain your decisions.
  2. Why not a single field? Explain why putting one Discount_Percent field on the Contract doesn’t work – and what breaks when you try.
  3. Trade-offs: Your model is probably complex. What are its downsides? What would you simplify if the company only had 50 contracts vs. 5,000?
4
Integration Thinking – Salesforce ↔ External System
Architecture APIs & Integration 15 min 20%
Scenario

The company wants to integrate Salesforce with an external BI system. The goal: every time a new contract is closed (Closed Won) in Salesforce, the contract data should appear in the BI system within 5 minutes.

Questions

  1. Push vs. Pull: There are two approaches – Salesforce pushes the data out (webhook / outbound message), or the BI system pulls it (polling every X minutes). Describe the advantages and disadvantages of each approach for this specific scenario (5-minute SLA, contract data).
  2. Authentication: The BI system needs to connect to the Salesforce API. Without recalling specific names or protocols – describe the general flow: what happens the first time the system connects? What happens on the 1,000th call? When does the connection “break,” and what do you do about it?
  3. Failure ranking: The integration runs fine for 3 months. One day, data stops flowing. Here are four possible causes – rank them from most likely to least likely, and explain your reasoning:

    A. Salesforce changed its API version
    B. An authentication token expired and wasn’t refreshed
    C. A new field was added to the object, breaking the data parsing
    D. A governor limit was hit because someone ran a large data load that same day

Good luck.

Send your submission (GitHub link, Vercel link, and written answers) to your recruiter contact.