{"server":"com.sagots/sagot","count":24,"changes":[{"tool":"billing_get","kind":"changed","observed_at":"2026-10-18T11:57:23.563Z","fields":["description"],"description_before":"The workspace's prepaid balance for calls on SAGOT numbers (PHP centavos): balance (paid top-ups + SAGOT credits − charges), reserved for calls in progress, available, this month's spend and the monthly limit (policy monthlySpendLimitCentavos), recent top-ups, the proposed rate per country and whether card top-ups are offered. Other line types are not paid from the balance.","description_after":"The workspace's prepaid balance for calls on SAGOT numbers (PHP centavos): balance (paid top-ups + SAGOT credits − charges), reserved for calls in progress, available, this month's spend and the optional monthly cap (policy monthlySpendLimitCentavos, null = none), recent top-ups, the proposed rate per country and whether card top-ups are offered. Other line types are not paid from the balance.","description_similarity":0.894,"before_hash":"e256976a2bc1446cb914acfc906dac89","after_hash":"33b25c5b746f92b8fcc1664c9dcbe53d"},{"tool":"policies_update","kind":"changed","observed_at":"2026-10-18T11:57:23.563Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"371c8729eb865868760031300f3a4a10","after_hash":"75c654e3dab7a4d4bc04ddae7702ca26"},{"tool":"platform_settings_update","kind":"added","observed_at":"2026-10-18T05:37:32.471Z","fields":[],"description_before":null,"description_after":"Platform staff only (account session). Requires manage. Turn live calling from SAGOT numbers on or off for every workspace. Off: live-mode SAGOT lines call only their verified numbers again, effective before the next dial. Audited.","description_similarity":null,"before_hash":null,"after_hash":"14e37b07aa19b2dce040186e3b2d97b3"},{"tool":"platform_settings_get","kind":"added","observed_at":"2026-10-18T05:37:32.471Z","fields":[],"description_before":null,"description_after":"Platform staff only (account session). Platform switches: managedLiveCalling (SAGOT number lines in live mode may call any number in a supported country) and whether payments and SAGOT numbers are configured on this deployment.","description_similarity":null,"before_hash":null,"after_hash":"47f66d06b3e180475c1344afda2f1dd0"},{"tool":"lines_confirmNumber","kind":"added","observed_at":"2026-10-18T05:37:32.471Z","fields":[],"description_before":null,"description_after":"SAGOT number lines, admin only: check the code sent by lines.verifyNumber and add the number to the line's test numbers. A wrong or expired code fails VERIFICATION_FAILED; send a new one.","description_similarity":null,"before_hash":null,"after_hash":"0cf3fe1e7f89f93c615de7543d7ed1e5"},{"tool":"lines_verifyNumber","kind":"added","observed_at":"2026-10-18T05:37:32.471Z","fields":[],"description_before":null,"description_after":"SAGOT number lines, admin only (never an assistant): send a verification code to a phone number the person owns, by SMS (default) or a voice call (`channel: \"call\"`). Then call lines.confirmNumber with the code. Verified numbers can be called in test mode.","description_similarity":null,"before_hash":null,"after_hash":"cd9dc60ee2737f6ac0c900b42a60f0a8"},{"tool":"lines_update","kind":"changed","observed_at":"2026-10-18T05:37:32.471Z","fields":["description"],"description_before":"Rename a line, make it the default, choose the published inboundAgentId that answers its callers (gateway lines; null stops answering), set testNumbers (customer gateway and Twilio lines), rotatePairing to issue a new pairing code and sign the paired device out, or capacity (Twilio lines: concurrent calls 1–10; phone gateways and shared routes carry one call). The deployment also caps concurrent calls overall. Live mode is not available yet.","description_after":"Rename a line, make it the default, choose the published inboundAgentId that answers its callers (gateway lines; null stops answering), set testNumbers (customer gateway and Twilio lines), rotatePairing to issue a new pairing code and sign the paired device out, or capacity (Twilio lines: concurrent calls 1–10; phone gateways, SAGOT numbers and shared routes carry one call). The deployment also caps concurrent calls overall. On a SAGOT number line testNumbers can only remove numbers (add them with lines.verifyNumber). `mode: \"live\"` (admin, not an assistant) lets a SAGOT number line call any number in a supported country once SAGOT has turned live calling on; otherwise it fails LIVE_MODE_UNAVAILABLE.","description_similarity":0.651,"before_hash":"aa9fbf700efbfb157231480a8d8ab40a","after_hash":"794cef5c0565db9bd78fac1550dae0b4"},{"tool":"lines_create","kind":"changed","observed_at":"2026-10-18T05:37:32.471Z","fields":["description","inputSchema"],"description_before":"Add a phone line from an offered provider. Adding never dials. The first line becomes the default for new calls and campaigns. Lines start in test mode: only the line's test numbers can be called. A `gateway` line (your own computer + phone) returns a one-time `pairing.code` (30 minutes) that the SAGOT gateway app exchanges for its own credential; the code is shown only once. A `twilio` line connects your own Twilio account: pass accountSid, apiKeySid, apiKeySecret (a Standard API key; write-only) and the numbers to attach (lines.twilioNumbers lists them). SAGOT creates an Elastic SIP Trunk, a credential list, an origination URL and attaches the numbers in your account, records every object it created and removes exactly those when the line is deleted. Twilio bills the calls to your account.","description_after":"Add a phone line from an offered provider. Adding never dials. The first line becomes the default for new calls and campaigns. Lines start in test mode: only the line's test numbers can be called. A `gateway` line (your own computer + phone) returns a one-time `pairing.code` (30 minutes) that the SAGOT gateway app exchanges for its own credential; the code is shown only once. A `twilio` line connects your own Twilio account: pass accountSid, apiKeySid, apiKeySecret (a Standard API key; write-only) and the numbers to attach (lines.twilioNumbers lists them). SAGOT creates an Elastic SIP Trunk, a credential list, an origination URL and attaches the numbers in your account, records every object it created and removes exactly those when the line is deleted. Twilio bills the calls to your account. A `sagot` line (SAGOT number, one per workspace) calls from SAGOT's shared numbers and is paid from the workspace's prepaid balance (billing.get shows rates); it can't receive calls. Add its test numbers with lines.verifyNumber and lines.confirmNumber.","description_similarity":0.843,"before_hash":"d4918efb743d11645f57a642ba46f2a3","after_hash":"823c5f6ddbf31250623eea51280ade49"},{"tool":"billing_topUp","kind":"added","observed_at":"2026-10-18T05:37:32.471Z","fields":[],"description_before":null,"description_after":"Admin only, never an assistant: start a card payment (Stripe Checkout) that adds amountCentavos (₱500–₱50,000) to the prepaid balance. Returns `checkoutUrl`; give it to the person to pay. The balance rises when Stripe confirms the payment. Fails PAYMENTS_UNAVAILABLE when this deployment takes no payments.","description_similarity":null,"before_hash":null,"after_hash":"2bdfedf0275a1e1f71fba390318bad5e"},{"tool":"billing_get","kind":"added","observed_at":"2026-10-18T05:37:32.471Z","fields":[],"description_before":null,"description_after":"The workspace's prepaid balance for calls on SAGOT numbers (PHP centavos): balance (paid top-ups + SAGOT credits − charges), reserved for calls in progress, available, this month's spend and the monthly limit (policy monthlySpendLimitCentavos), recent top-ups, the proposed rate per country and whether card top-ups are offered. Other line types are not paid from the balance.","description_similarity":null,"before_hash":null,"after_hash":"e256976a2bc1446cb914acfc906dac89"},{"tool":"policies_update","kind":"changed","observed_at":"2026-10-18T05:37:32.471Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"fe97ec53fdbedd208402c10131d126d7","after_hash":"371c8729eb865868760031300f3a4a10"},{"tool":"calls_create","kind":"changed","observed_at":"2026-10-18T05:37:32.471Z","fields":["description"],"description_before":"Queue one call with an agent to a contact. Give `task` for what this one call must achieve (the personal starter agent follows it). During the alpha a line only calls its test numbers. When an AI assistant connected by OAuth asks for a call and the policy's assistantCallApproval is on (default), the call is created with status awaiting_approval and nothing dials until a person approves it on the website: tell them, and give them the returned approvalUrl. It is canceled if not approved within 24 hours. Then read the result with calls.get.","description_after":"Queue one call with an agent to a contact. Give `task` for what this one call must achieve (the personal starter agent follows it). During the alpha a line only calls its test numbers, unless it is a SAGOT number line in live mode. Calls on SAGOT numbers reserve their maximum cost from the prepaid balance (BALANCE_TOO_LOW, SPEND_LIMIT_REACHED, COUNTRY_NOT_SUPPORTED). When an AI assistant connected by OAuth asks for a call and the policy's assistantCallApproval is on (default), the call is created with status awaiting_approval and nothing dials until a person approves it on the website: tell them, and give them the returned approvalUrl. It is canceled if not approved within 24 hours. Then read the result with calls.get.","description_similarity":0.773,"before_hash":"1ec9624365346357e9a7ba2dde296c84","after_hash":"f6b055903b62160210af0ad23f2e5388"},{"tool":"policies_update","kind":"changed","observed_at":"2026-10-17T11:59:08.271Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"d8dcbc415ceb176bd38c753ad5623090","after_hash":"fe97ec53fdbedd208402c10131d126d7"},{"tool":"calls_decline","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Signed-in session only: decline a call an AI assistant asked for. It is canceled and its reserved budget released.","description_similarity":null,"before_hash":null,"after_hash":"249161fcef1e1c45bcc24e6285f5324c"},{"tool":"calls_approve","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Signed-in session only (a person, not an API key or assistant): approve a call an AI assistant asked for (status awaiting_approval). Eligibility is checked again and the call is queued.","description_similarity":null,"before_hash":null,"after_hash":"70d78e554cbaa5bfaa290c8ff0a38e3a"},{"tool":"calls_create","kind":"changed","observed_at":"2026-10-17T11:59:08.271Z","fields":["description","inputSchema"],"description_before":"Queue one call on the workspace's bound route to an operator-allowlisted destination. Live prospect dialing is not enabled.","description_after":"Queue one call with an agent to a contact. Give `task` for what this one call must achieve (the personal starter agent follows it). During the alpha a line only calls its test numbers. When an AI assistant connected by OAuth asks for a call and the policy's assistantCallApproval is on (default), the call is created with status awaiting_approval and nothing dials until a person approves it on the website: tell them, and give them the returned approvalUrl. It is canceled if not approved within 24 hours. Then read the result with calls.get.","description_similarity":0.128,"before_hash":"4b952590f14949bb0e62ade48969e157","after_hash":"1ec9624365346357e9a7ba2dde296c84"},{"tool":"workspaces_create","kind":"changed","observed_at":"2026-10-17T11:59:08.271Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"f670825fbf6ac791ff6c679634100a4b","after_hash":"0174c7e11a64e7b759c0295d5a31c559"},{"tool":"assistants_clients_revoke","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Signed-in session only: revoke an OAuth client ID you created; assistants using it can no longer sign in or refresh tokens.","description_similarity":null,"before_hash":null,"after_hash":"24bab513a3fe1502e0dce6897347883c"},{"tool":"assistants_clients_list","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Signed-in session only: OAuth client IDs you created for assistants, with their redirect addresses.","description_similarity":null,"before_hash":null,"after_hash":"a2ea36de1e7abf354fccb926708ea548"},{"tool":"assistants_clients_create","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Signed-in session only: create an OAuth client ID and secret for an assistant that asks for them, such as Gemini Enterprise (redirect https://vertexaisearch.cloud.google.com/oauth-redirect). The secret is returned once. People who sign in through it still choose their own workspace.","description_similarity":null,"before_hash":null,"after_hash":"c06e33bb41b26fbbcbb665d8e2692e7d"},{"tool":"assistants_revoke","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Signed-in session only: disconnect an AI assistant. Its access and refresh tokens stop working immediately; it must ask again to reconnect.","description_similarity":null,"before_hash":null,"after_hash":"ed711aa8d0d7124475e55084839422f5"},{"tool":"assistants_list","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Signed-in session only: AI assistants connected to your account through OAuth, with workspace, scopes, when connected and last used.","description_similarity":null,"before_hash":null,"after_hash":"583f0d65c2dde96604b72d22edd70080"},{"tool":"assistants_authorize","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Signed-in session only: allow (with a workspaceId) or deny an AI assistant's request to use SAGOT. Allowing gives that assistant the listed scopes in one workspace — never admin, never more than your role — and returns redirectTo, the address to send the browser back to.","description_similarity":null,"before_hash":null,"after_hash":"cfcb24dbfe0e58fdfff0a0fb3bb77955"},{"tool":"assistants_preview","kind":"added","observed_at":"2026-10-17T11:59:08.271Z","fields":[],"description_before":null,"description_after":"Check an OAuth authorization request from an AI assistant (Claude, ChatGPT, Gemini or any MCP client) before consent: returns the assistant's name, the address it returns to, the scopes requested in plain words, or the problem with the request.","description_similarity":null,"before_hash":null,"after_hash":"993118602e469084f437cf50d586a233"}],"next_before":null,"next_actions":[]}