Deals
Choose an action to read its inputs, results, and usage guidance. Your connection determines which tools are available to you.
A Deal connects a business with one funding recipient and its application. Create the Deal first, then complete and submit the application as a separate action.
Create a Deal
If you know who should receive the Deal, call deals.list_recipients with your Portal’s provider_slug. It includes your own team, Marketplace lenders, connected partners, and custom recipients available to your Portal. Search by name and follow next_cursor for more results. Choose a recipient with can_create_deal: true; otherwise, unavailable_reason explains what needs attention. Choose your own team for a Deal your team will process.
Call deals.create with your Portal’s provider_slug, a Business ID, the recipient’s id as recipient_id, and a new UUID idempotency_key. Include project_id to link a Project belonging to this Business. Creation uses the recipient’s current published application and your default Deal pipeline, starts Autofill, and keeps the application private to your team. It does not submit the application. Save the returned Deal and application IDs, then complete the application. Reuse the same idempotency key and inputs when retrying.
If you want recommendations first, follow Matchmaking, then copy the chosen result's recipient.id into recipient_id.
Identify and complete the right Deal
Use deals.list or deals.get and check the recipient, business, Project, requested amount, archive state, and pipeline stage. These distinguish similarly named Deals. Then open the Deal application to complete its answers and check readiness.
application_status describes application progress. pipeline_stage describes the Deal's position on your Portal's board. The deprecated status alias and list filter refer to application status, not pipeline stage.
Read the Deal’s working context
Use deals.list_notes for private notes and deals.list_people for linked CRM contacts. Use deals.list_messages for visible provider and client messages, deals.list_activity for grouped history, and deals.list_application_participants for current application access. CRM contacts and application participants have different roles: linking a contact does not invite them or grant application access.
Follow each collection’s next_cursor to read all items. Search and ordering apply to that collection; restart pagination when changing them. Reading messages does not mark them read. History describes past events; use current Deal and application reads to check today’s state.
Move a pipeline stage
Use review_stage_move before move_stage. For a bulk move, select one to 100 records and a destination stage. Your AI must ask twice: first confirm the records and destination, then confirm the reviewed effects and final go-ahead. Send both acknowledgements and the current review token. Do not bypass this review through repeated single-record moves.
Moving a stage does not submit an application or change its application status. Configured Deal-stage notifications can still run.
Related resources
Available tools
deals.listList dealsdeals.getGet deal detailsdeals.createCreate a Dealdeals.create_pipelineCreate Deal pipelinedeals.review_pipeline_deletionReview Deal pipeline deletiondeals.assignAssign dealdeals.update_terms_configurationConfigure financing fieldsdeals.upsert_noteCreate or edit Deal notedeals.update_termsEdit financing termsdeals.get_assignmentGet deal assignmentdeals.list_activityList Deal activitydeals.list_application_participantsList Deal application participantsdeals.list_messagesList Deal messagesdeals.list_notesList Deal notesdeals.list_peopleList deal peopledeals.list_pipelinesList Deal pipelinesdeals.list_recipientsList Deal recipientsdeals.set_pinned_notePin or unpin Deal notedeals.get_terms_configurationRead financing field configurationdeals.get_termsRead financing termsdeals.get_recipient_requirementsRead the Deal recipient's packagedeals.rename_pipelineRename Deal pipelinedeals.set_projectSet a Deal's Projectdeals.set_peopleSet deal peopledeals.updateUpdate dealdeals.get_stage_configurationRead deals stagesdeals.review_stage_moveReview move of deals between stagesdeals.update_stage_configurationManage deals stagesdeals.move_stageMove deals between stagesdeals.review_delete_noteReview Deal note deletiondeals.delete_noteDelete Deal notedeals.delete_pipelineDelete Deal pipeline