Pick your platform above. Copilot Studio signs in with Microsoft. Claude and ChatGPT connect with the personal connector URL from your activation page and need no Microsoft sign-in.
Second Opinion for Sales is not a standalone app. It installs as an MCP tool on an existing Copilot Studio agent. From there, two patterns work:
There is no API key, client ID, or secret to manage. Copilot Studio uses Dynamic discovery: you enter one server URL and authentication configures itself. Each user signs in with their own Microsoft 365 account, and that sign-in is the credential.
Before anyone in your organization connects, an administrator makes Second Opinion for Sales known to your Microsoft 365 tenant. Until this is done, sign-in fails with error AADSTS650052.
If you are not an administrator in your tenant, copy this section to the person who is, and wait for their confirmation before continuing. Both parts take under five minutes.
az login --allow-no-subscriptions), run:az ad sp create --id 86171dc8-e8f7-499f-ad82-595d75162961
https://login.microsoftonline.com/common/adminconsent?client_id=86171dc8-e8f7-499f-ad82-595d75162961
Run A before B. The landing page after B may show a sign-in error from our server; that is expected and harmless. What matters is the address bar: admin_consent=True with no error= parameter means consent succeeded.
For authentication, choose OAuth 2.0, then Dynamic discovery. Nothing else.
Do not choose "No authentication." The tool may appear to save, but every call will be rejected, and the half-made connection has to be deleted before you can retry cleanly. If you already created one with No authentication, delete that tool and start again from step 3.
Leave the other fields alone; they fill in from the server. Click Create.
AADSTS650052, the administrator step above has not been completed in your tenant. If it fails on the license, confirm the account has a seat in the Microsoft 365 admin center under Billing, Licenses, Second Opinion for Sales.seller or the prospect. Then save and publish; each user signs in with their own Microsoft 365 account.
To make the read available to a master sales agent, wrap the tool in a small dedicated agent and connect it as a child. The description and instructions below are ready to paste; they carry the guardrails with them, so the read stays safe no matter which parent agent calls it.
Behavioral sales analyst powered by Second Opinion for Sales. Give it one person's words from a sales conversation (call transcript, email thread, discovery notes), at least 400 characters, and say whether that person is the seller or the prospect. It returns a behavioral read: a one-line key finding, a fuller second opinion, two to three concrete next steps, and a read confidence. Use it before drafting outreach, prepping a call, or deciding the next move in a live deal. It reads patterns in language; it does not predict whether a deal will close.
You are a sales coach built on Second Opinion for Sales. Your one capability is the second_opinion tool, which analyzes one person's words from a sales conversation and returns a behavioral read. Input rules - The tool takes the text of ONE speaker plus their role: "seller" or "prospect". Role sets the interpretation lens. If you cannot tell which it is, ask; never guess silently. - You need at least 400 characters of that person's own words (up to 50,000). If you have less, ask for more material instead of calling the tool. Longer samples produce a more reliable read. - For a multi-speaker transcript, split by speaker and call once per speaker. - Do not scrub names or personal details before sending. That is handled server-side. Delivering the read - Never read the result back like a form, and never unload everything at once. Lead with the key finding, the single highest-leverage move, the hard call if the profile is unfavorable, and an offer to draft the next message. Hold the fuller read and reasoning in reserve until asked. - Deliver it as your own advice, in the user's voice and register, woven together with what you already know about their deal. Two limits that always hold 1. Never claim the read predicts whether the deal will close, or that it is an accurate, validated, or scientific measure of the person. Confidence in the read is fine; claims of predictive accuracy are not. 2. Trait and personality language is for coaching the user only. It never appears in any message drafted for the prospect. Translate the insight into behavior and benefit instead: not "he reads as high in neuroticism," but a line that reassures him he will not be left exposed after signing. The read is words, never numbers. Do not invent scores, percentages, or rankings that the tool did not return. When another agent calls you - Return the read in a structured, labeled form the caller can use: key finding, recommended move, next steps, read confidence. - Pass the two limits along as explicit handling notes, so the calling agent does not put trait language in front of a prospect or present the read as a deal prediction. - If the caller sends mixed-speaker text or no role, ask it to split and label rather than proceeding on a guess. Scope - You analyze sales conversations. Decline requests to profile people outside a sales context, to act as a lie detector, or to produce psychological assessments. Offer the sales read instead.
When you need a behavioral read on someone in a deal, call the Second Opinion for Sales Agent. Sending a request - Send the words of ONE speaker only, at least 400 of their own characters, and state their role: "seller" or "prospect". Pull their words from the transcript, email thread, or CRM record and leave the other speakers out. Do not send the whole conversation. - Do not rely on conversation history to carry the text. Include the speaker's text and role explicitly in each request. Using the read - The read comes back as a key finding, a recommended move, next steps, and a read confidence. Weave it into your own guidance; do not paste it back as a form. - Never present the read as a prediction that the deal will close, or as a validated measure of the person. - Trait and personality language is for coaching the user only. It never appears in any message drafted for the prospect; translate it into behavior and benefit instead. - Do not write the read or any trait language into memory, CRM fields, or any other persistent store. The read is for the conversation at hand.
| Condition | What it means and what to do |
|---|---|
AADSTS650052 | Your organization does not yet have the Second Opinion for Sales service principal. Complete the administrator step above, part A before part B, then retry. |
tenant_not_provisionedseat_verification_required | The account does not yet have an active seat, or the first-connect license check has not completed. Confirm the subscription and seat assignment in the Microsoft 365 admin center. The first call right after activation may need a moment. |
tenant_mismatch | The sign-in used a different Microsoft 365 tenant than the subscription. Sign in with the account that holds the seat. |
Claude connects with the personal connector URL issued on your activation page when you completed your purchase. No Microsoft sign-in is needed inside Claude; the URL is your seat and your credential.
Lost your connector URL? For security it is shown only once. If you subscribed through Microsoft AppSource, open the activation link in the Microsoft email titled "Your SaaS subscription is ready" and sign in with the same account; your connector URL is reissued. Otherwise, contact support@pansophyai.com and we will reissue it within one business day. Reissuing turns off the old URL.
https://. If Claude prompts you to authenticate, you can skip it.seller or the prospect.
| Condition | What it means and what to do |
|---|---|
| 401 / not authorized | The connector URL is incomplete or has been reissued. Re-copy it exactly, or recover it using the instructions above. |
monthly_cap_reached | Your seat has used its 100 analyses for the month. The count resets at the start of the next month. |
ChatGPT connects with the same personal connector URL issued on your activation page. ChatGPT calls custom MCP servers "apps," and adding one needs Developer mode turned on first. Because your connector URL is its own credential, you choose No authentication.
seller or the prospect.
| Condition | What it means and what to do |
|---|---|
| 401 / not authorized | The connector URL is incomplete or has been reissued. Re-copy it exactly, or recover it using the instructions above. |
monthly_cap_reached | Your seat has used its 100 analyses for the month. The count resets at the start of the next month. |
The personal connector URL from your activation page works as the MCP server URL in any MCP-capable framework, with no headers and no token management.
{
"type": "mcp",
"server_label": "second-opinion-for-sales",
"server_url": "<your personal connector URL>"
}
"mcp_servers": [
{
"type": "url",
"url": "<your personal connector URL>",
"name": "second-opinion-for-sales"
}
]
Organizations on the AppSource subscription can instead authenticate with a delegated Microsoft Entra token against https://mcp.pansophyai.com/mcp. This ties every call to a signed-in user and their license seat. It requires the one-time administrator step from the Copilot Studio tab, plus an app registration in your own tenant with the delegated Score.Read permission (found under APIs my organization uses, Second Opinion for Sales) and Allow public client flows enabled for device-code sign-in.
# 1. request a device code
curl -s -X POST \
https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode \
-d "client_id=YOUR_APP_CLIENT_ID" \
-d "scope=api://86171dc8-e8f7-499f-ad82-595d75162961/Score.Read offline_access openid"
# 2. open the verification_uri, enter the user_code, sign in
# 3. exchange the device_code for an access token
curl -s -X POST \
https://login.microsoftonline.com/organizations/oauth2/v2.0/token \
-d "grant_type=urn:ietf:params:oauth:grant-type:device_code" \
-d "device_code=<device_code>" \
-d "client_id=YOUR_APP_CLIENT_ID"
Pass the resulting access_token as a bearer on calls to https://mcp.pansophyai.com/mcp. The refresh_token renews it without signing in again.
| Condition | What it means and what to do |
|---|---|
| 401 / not authorized | Connector URL path: the URL is incomplete or reissued; re-copy or recover it. Bearer path: the token expired or lacks Score.Read; refresh it with the scope shown above. |
delegated_requiredinsufficient_scope | The token was issued to an application rather than a signed-in user, or is missing Score.Read. Re-obtain a delegated user token with the scope above. |
invalid_jwtexpired_jwt | The token is malformed or expired. Obtain a fresh token or use your refresh token. |
The tool takes the text you want analyzed and the role of the speaker, and returns a key finding, a full second opinion written for selling, next steps for the call, and a read confidence.
400 and no more than 50,000 characters.seller for your own side of the conversation, or prospect for the counterparty's text. One speaker per call.Your agent handles the speaker work. Second Opinion for Sales reads one person at a time and does not split a multi-speaker conversation for you. Your agent parses the conversation, isolates the text for the one person you want read, and labels whose words they are with the role input.
The read confidence describes how well the text you gave supported the read, not a prediction of whether the deal will close. A high or low standing on any dimension is a position with trade-offs in a sales context, not a measure of good or bad.
Your submitted text is scrubbed for personal information, scored, and discarded. It is never stored. Each seat includes up to 100 analyses per month.
| Condition | What it means and what to do |
|---|---|
role_requiredinvalid_role | The role input is missing or not one of seller / prospect. Set it and retry. |
| Text length | Submitted text must be between 400 and 50,000 characters. Shorten or lengthen the input and retry. |
Pansophy AI Inc., Support · support@pansophyai.com · We respond within one business day.