Customer Requests

REST API — support user role assignment on deals (parity with processes)
We're building automated lead intake against your REST API ( api.leadsimple.com/rest ) and hit a gap we'd like to request parity on. The request: Allow setting user roles on deals via the API, the same way it already works for processes. What works today: POST /processes and PUT /processes/{id} accept users_in_roles[][role_id] and users_in_roles[][user_id], and role definitions are discoverable via GET /process_types/{id}/assignee_roles. This works great. The gap: Deals have no equivalent, even though pipelines support the same user roles in the UI (Pipeline Settings → Users & Roles → Add Assignee Role). Specifically: POST /deals and PUT /deals/{deal_id} accept only assignee_id (the Lead Owner). Passing users_in_roles[][role_id] / users_in_roles[][user_id] with valid UUIDs returns 200 but the parameter is silently ignored — no role is assigned and no error is returned. The Deal object in API responses doesn't include user role assignments at all, so they can't be read back either. There's no GET /pipelines/{id}/assignee_roles endpoint to discover which roles a pipeline uses (the process-type equivalent exists). Our use case: We create and update leads in our Landlords pipeline programmatically from our website and phone intake systems. That pipeline has a "Leasing Manager" user role that drives who works the lead, and today it can only be set by hand in the UI. Since roles are global objects shared between pipelines and process types, extending the existing users_in_roles parameter to the deal endpoints would give full parity with what the UI already supports. Requested changes, in priority order: Accept users_in_roles on POST /deals and PUT /deals/{deal_id} (or return a validation error rather than silently dropping it). Include user role assignments in the Deal response body. Add GET /pipelines/{pipeline_id}/assignee_roles. Happy to provide request/response examples from our testing if useful. Thanks for considering it!
Expanding the public REST API
Currently, the GET /conversations endpoint returns basic metadata but completely lacks any reference to the process, deal, or contact it belongs to. Example of current response: { "data": [ { "created_at": "2026-05-07T17:30:14Z", "updated_at": "2026-05-07T17:30:14Z", "id": "cb5ff44f-dd63-4ca4-820b-d3df663b78ae", "subject": null, "snippet": null, "link": " https://app.leadsimple.com/v2/inbox/all?inboxFilters=conversationId=S9p360UbNAGUvqWHspCiPjqhKq-RwwLWOeYEM0Y51Sq5YRiJohy_ThPUqZc= ", "kind": "email", "status": "closed", "assigned": false, "inbox": " leasing@ncrentals247.com ", "first_call": null, "first_email": null, "first_text_message": null, "last_activity_at": null } We request an expanded version of this endpoint. Ideally, this could be achieved in one of two ways: Append an array of IDs for related objects directly into the root object of each conversation (similar to how your Data API structures it). Allow an optional query parameter, such as GET /conversations?include=processes, to dynamically inject the related process data. We need the response to include a process_ids array (or a process object) containing the ID(s) of the process linked to each conversation. Without these IDs, it is technically impossible for our external system to know which conversation belongs to which pipeline or workflow inside LeadSimple. Adding these association arrays will allow us to successfully sync and map our communication history automatically. Please let me know if this specification is clear enough for your engineering team to review, or if you need any further technical details
Load More