- Brand
- Unknown
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
First helps engaged couples in the US make a prenup (a prenuptial agreement) together. Connect your First account, or make one when you connect. Ask general questions, such as "Do I need a prenup?" or "What does a prenup cover?", and get answers from Clara, the First assistant. Continue your prenup in ChatGPT: answer the questions of each module, add your assets and family members, review the choices of you and your partner, read your agreement and documents, and see what to do next. Payment, signing, and the lawyer review stay in the First app. First gives general information, not legal advice.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Unknown
- Access
- Account required
- First tracked
- 2026-11-05
- Tool count
- 35
- Market
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for First
Get updates when First’s Discoverability Score or category rank changes.
Competitive lineup
35 tools agents can invoke
Adds a dependent or a pet to the customer's My Family page. Call describe_family_form for the fields and the module_state first. Confirm the values with the customer before you call this tool. When module_state is edit_restarts_alignment, also tell the customer that the change restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.
add_family_member
Adds an asset or a debt to the customer's My Assets page. Call describe_asset_form for the fields and the module_state first. Confirm the values with the customer before you call this tool. When module_state is edit_restarts_alignment, also tell the customer that the change restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. For a bank account, a credit card, an investment, or a debt, when describe_asset_form gives plaid_connection_url (for example /prenup/my-assets/bank), offer two choices: the customer connects the account through Plaid in the app, or gives the account here for this tool. A Plaid connection in the app also restarts the alignment when module_state is edit_restarts_alignment, so get the same yes first. Never ask for the sign-in details of an account. Send the module_state that you read as expected_module_state, also when it is open.
add_asset
Saves the answer of the customer to the current question of a quiz module, and returns the next question. Confirm the answer with the customer before you call this tool. Give the answer in the format that answer_format of the question names. A changed answer can remove the answers of questions that it hides, and it can restart the alignment of the couple. For the last screen of the quiz, give only the question_id: this finishes the module. The eligibility quiz finishes after its last question, and the result gives the next step and app_url. A result with status ineligible gives the reason and app_url: give both to the customer.
answer_quiz_question
Asks Clara, the First assistant, a question for the customer. Use it for a general question about prenups (prenuptial agreements), for example "Do I need a prenup?" or "What can a prenup cover?", and for a question about First. Clara knows the First app and the general legal points of a prenup. When the customer is signed in, Clara also knows the customer's account. Send only the customer's question. Send the thread_id of an earlier answer to continue that conversation. Before sign-in, the result has notice, terms_url, and privacy_url: show the notice to the customer with the first answer, with both links.
ask_clara
Asks to change the email that the customer uses to sign in to First. Confirm the new email with the customer before you call this tool. The tool does not change the email: the customer approves the change from the current email, and then confirms the new email from a sign-in link.
request_email_change
Changes the fields of one of the customer's own dependents or pets. Take the id and the module_state from list_family_members. Give only the fields that change. Confirm the change with the customer before you call this tool. When module_state is edit_restarts_alignment, also tell the customer that the change restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.
update_family_member
Changes the fields of one of the customer's own assets or debts. Take the id and the module_state from list_assets. Give only the fields that change. Confirm the change with the customer before you call this tool. When module_state is edit_restarts_alignment, also tell the customer that the change restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.
update_asset
Saves the customer's US phone number, which First uses for texts about the service. An empty phone removes it. Confirm the number with the customer before you call this tool, and tell the customer: "By providing your phone number you consent to receiving transactional texts." At the welcome steps, send the phone with finish_welcome_steps instead.
update_phone
Changes the email or the name of a partner who did not join yet. A new email gets a new invite email from First. Send only the values that change. Confirm them with the customer before you call this tool. When the partner already has a First account, send a new email with both names. After the partner joins, only the partner changes these details.
update_partner_invite
Completes the My Assets module, as the Complete button of the app does. Call it only when the customer says that the assets and the debts are complete. First call list_assets, and show the customer the full list of assets and debts. Then show this exact statement, and get an explicit yes: "I understand that full financial disclosure is key to the enforceability of my prenup and that it is my responsibility to share a complete version of my assets and liabilities." Then call with confirm true. The completion can open the next module and email the customer and the partner. Give the customer next_step.
complete_my_assets
Completes the My Family module, as the Complete button of the app does. Call it only when the customer says that the list of family members is complete. First call list_family_members, and show the customer the full list of family members. Then show this exact statement, and get an explicit yes: "I have shared a complete version of my family members." Then call with confirm true. The completion can open the next module. Give the customer next_step.
complete_my_family
Completes alignment, as the Complete Alignment button of the app does. Call it only when get_alignment gives ready_to_complete true, and the customer says to complete alignment. When get_alignment gives complete_statement, show this exact statement first, and get an explicit yes: "Once you complete alignment, any further changes to your prenup will need to be done by a lawyer. Are you sure you want to continue?" Then call with confirm true. When both partners completed alignment, the app makes the draft prenup. The completion emails the customer and the partner. Give the customer next_step or waiting_for_partner. When the result gives upgrade, offer the upgrade to Lawyer Review with its text and url.
complete_alignment
Completes one step of alignment, as the Complete Review button of its page does. Each step has the condition of its page: financial-views needs each question aligned. For partners-premarital-property, first show the customer each premarital asset of the partner (get_alignment with this step), and get a yes that the customer reviewed them. partners-postmarital-property needs a review of each item of the partner. postmarital-property needs no disagreement of the partner: the customer picks such an item again with set_allocation, and the partner reviews it again. The completion can open the next step and email the customer and the partner. Give the customer next_step, or waiting_for_partner.
complete_alignment_step
Deletes one of the customer's own dependents or pets. Take the id and the module_state from list_family_members. Confirm the delete with the customer before you call this tool: the family member cannot be restored. When module_state is edit_restarts_alignment, also tell the customer that the delete restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.
delete_family_member
Deletes one of the customer's own assets or debts. Take the id and the module_state from list_assets. Confirm the delete with the customer before you call this tool: the asset cannot be restored. When module_state is edit_restarts_alignment, also tell the customer that the delete restarts the alignment of the couple and can email the partner, and get a yes. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation. Send the module_state that you read as expected_module_state, also when it is open.
delete_asset
Returns the form of a dependent or a pet on the My Family page: the field keys, the labels, the options, the required fields, and the module_state. Call it before add_family_member or update_family_member. When module_state is closed, do not collect values: give the customer next_step_url. Otherwise ask the customer for each required value.
describe_family_form
Returns the form of one kind of asset or debt on the My Assets page: the field keys, the labels, the options, the required fields, and the module_state. Call it before add_asset or update_asset. When module_state is closed, do not collect values: give the customer next_step_url. Otherwise ask the customer for each required value. For a bank account, a credit card, an investment, or a debt, when the result gives plaid_connection_url (for example /prenup/my-assets/bank), offer two choices: the customer connects the account through Plaid in the app, or gives the account here for add_asset. A Plaid connection in the app also restarts the alignment when module_state is edit_restarts_alignment, so get the same yes first. Never ask for the sign-in details of an account.
describe_asset_form
Finishes the welcome steps of a paid product, as the dashboard of the First app does. It saves the acceptance of the statements of welcome.confirm from get_started, and the optional phone. Call it only at the onboarding stage. First show each statement, and get an explicit yes to each one from the customer. Then invite the partner with invite_partner when the next step of get_started asks for it. Returns the next setup step, as get_started does.
finish_welcome_steps
Returns where the customer is in their First agreement: the status, the waiting period when there is one, the current step in the app, and a link to the app. Before the account setup is done, it returns the setup stage and the next step, as get_started does. Do not use it for questions about how First or the law works.
get_agreement_status
Returns the customer's first name, the setup stage of their First account, and the one next step. It also says what the assistant can do now. After the setup, it gives the status of the agreement. At the onboarding stage, it gives the welcome steps to do in the chat. Call it at the first message of a conversation, also when that message is only a greeting. Greet the customer by first name. Before the setup is done, it gives choices. When the message of the customer is only a greeting, offer the choices of get_started one time in the conversation and wait for the answer, or give the next step when there are no choices. When the message is not only a greeting, answer it, and give the next step when the customer asks what to do. A customer with no agreement gets the products to choose from: ask the customer to start one, or to only ask Clara questions.
get_started
Returns the alignment steps of the prenup with the status of the customer and of the partner, the current step, and the data of a step as its app page shows it. The steps go in this order: financial-views (the customer agrees with the partner on each financial view), partners-premarital-property (the customer reads the premarital property of the partner), partners-postmarital-property (the customer agrees or disagrees with each postmarital allocation of the partner), and postmarital-property (the customer sees the review of the partner, and picks again where the partner disagrees). Give step to read a different step, or premarital-property or shared-property for the own premarital assets and the shared assets. Each asset and item gives its allocation in separate_property, as the page shows it. When ready_to_complete is true, the customer can complete alignment with complete_alignment. changed_after_completion names the sections that a partner changed after their completion. Tell the customer about them before a write of financial-views: the write clears the list, as the page does when it opens. Show the data to the customer before each write of the step. A question with in_app true changes only in the app: give the customer its app_url.
get_alignment
Returns the current question of a quiz module of the customer: the text, the options with their ids, the format of the answer, the saved answer, and the progress. Ask the customer the question, then call answer_quiz_question. The result can include notes: the text of the information screens before the question. Give the notes to the customer. This tool saves no answer, but it moves the quiz past the information screens. A result with status allocation gives items that the customer picks one by one with set_allocation. A result with status in_app is a question that the customer answers in the app, at app_url. A result with status complete means that the module is finished. For the eligibility quiz, give the customer next_step and app_url of a result with status complete or ineligible.
get_quiz_question
Returns the customer's First account details: the legal name, the email, the phone, the partner or the partner invite, and the purchases. Use it when the customer asks about these details. Do not use the email of the AI app account. To change the name, call update_profile. To change the phone, call update_phone. To change a pending partner invite, call update_partner_invite. To change the email, call request_email_change.
get_my_details
Moves a quiz module back one question, as the Back button of the app does, and returns that question. It saves no answer, and it changes only the position in the quiz. Use it when the customer wants to change an earlier answer.
previous_quiz_question
Sends an invite email from First to the customer's partner, so the partner can join the agreement. Confirm the partner's name and email with the customer before you call this tool. When an invite is already pending, call resend_partner_invite to send it again, or update_partner_invite to change the email.
invite_partner
Returns the assets and debts on the customer's My Assets page, with their ids: the customer's own assets and the assets that the partner shares. Use it for the exact list or an id. Call ask_clara for questions about what the assets mean for the prenup. module_state tells if a write saves, restarts the alignment, or gets a refusal. When it is closed, give the customer next_step_url.
list_assets
Lists the customer's own documents, for example the prenup summary and the waivers: the kind, the title, whether the customer agreed, the date of the signature, and a link to the app. Some documents are only in the app. Call read_document with the kind for the text. The customer agrees to and signs a document only in the app.
list_documents
Returns the dependents and pets on the customer's My Family page, with their ids: the customer's own family members and the members that the partner shares. Use it for the exact list or an id. Call ask_clara for questions about what the family members mean for the prenup. module_state tells if a write saves, restarts the alignment, or gets a refusal. When it is closed, give the customer next_step_url.
list_family_members
Returns the text of one of the customer's own documents, for example the prenup summary. Call list_documents for the kinds that the customer has.
read_document
Returns the text of the customer's agreement, as the agreement page of the app shows it. Send search to get only the parts around a word or phrase, for example "house". Leave search out to read the whole agreement, for example for a question about the agreement as a whole. A long agreement comes in pages: call again with the next page until page equals pages.
read_agreement
Does one action of the financial-views step of alignment on one question, as the financial views page of the app does. Call get_alignment first: each question gives its actions. acknowledge: the customer read the different answer of the partner and accepts it. Show the answer of the partner first. answer: the customer changes the own answer, in the format of answer_format. Confirm the answer with the customer first. A changed answer asks the partner to review the financial views again. When each question is aligned, complete the step with complete_alignment_step.
review_financial_view
Saves the review of the customer of the postmarital allocations of the partner, in the partners-postmarital-property step of alignment. Call get_alignment with this step first, and show the customer each item of the partner with its allocation. agree true accepts the allocation of the partner. agree false disagrees: the partner then picks again. Give an item for each item that has no review (customer_agrees null), in one call. Give the separate_property of each item as get_alignment gave it. When an item changed after the read, the tool saves nothing: read the step again, and show the new allocation to the customer. An item that you do not give keeps its review. Then complete the step with complete_alignment_step.
review_partner_property
Saves the customer's full legal name, as on their birth certificate, driver's license, or passport. The name goes into the agreement. Confirm the exact spelling with the customer before you call this tool. Returns the next setup step, as get_started does.
update_profile
Sends the pending partner invite again, to the same email. Confirm with the customer before you call this tool. To invite a different email, call update_partner_invite. A partner who declined gets no new invite.
resend_partner_invite
Saves one allocation pick of the customer: keep an item as separate property after the wedding, or share it (allocation_labels of get_alignment give the words of the app). kind asset is an own premarital asset that is not shared (get_alignment step premarital-property). kind marital_property is a category of postmarital property (get_alignment step postmarital-property). After the financial philosophy quiz closed, a pick of kind marital_property needs the step postmarital-property. An allocation question of the financial philosophy quiz gives the items of both kinds. A pick of a postmarital category asks the partner to review it again. Read module_state before the pick. When it is edit_restarts_alignment, tell the customer that the pick restarts the alignment of the couple and can email the partner, and get a yes. Send the module_state that you read as expected_module_state, also when it is open. After an asset, family, or allocation write, tell the customer that the alignment restarted when alignment_restarted is true. Tell the customer that the partner got an email when partner_emailed is true. When a value is false, say nothing about it. When the customer asks about these values, answer from the results of all the writes in this conversation.
set_allocation
First ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve First's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.


