From a8b6f0605bdea393757ab2f1d9f5acac212b5ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Garc=C3=ADa=20Gonz=C3=A1lez?= Date: Thu, 17 Sep 2026 09:57:58 -0300 Subject: [PATCH 1/3] Add the New answer v2 trigger and deprecate the old one Exposes the rebuilt form-answer trigger in the connector. Its payload description is bound dynamically per form, so the questions of the selected form arrive as dynamic content and a repeatable table's columns are available inside an Apply to each, with no Parse JSON step. The trigger declares 201 on subscribe, which is what the backend returns and what makes the platform register the unsubscribe URL. The old trigger is marked deprecated through the documented operational versioning, so the designer stops offering it for new flows while every flow already built on it keeps running. Nothing about it is migrated or removed, and its operation is otherwise untouched. The three guides describe the new trigger, the build-verify-then-delete migration order, and the double delivery that happens while both flows are active, which is the part most likely to duplicate a customer's work orders or approvals. They also record that pdf_url is populated only when the document already exists, and that the per-question field list is a snapshot taken when the trigger is configured. The cleanup note now states only what the platform guarantees, an unsubscribe when the flow is deleted or its trigger edited, rather than the blanket claim it carried before. Co-Authored-By: Claude Opus 5 --- .../power_automate/apiDefinition.swagger.json | 162 +++++++++++++++++- .../power_automate/connector_guide_en.html.md | 54 +++++- .../power_automate/connector_guide_es.html.md | 55 +++++- .../power_automate/connector_guide_pt.html.md | 55 +++++- 4 files changed, 300 insertions(+), 26 deletions(-) diff --git a/source/power_automate/apiDefinition.swagger.json b/source/power_automate/apiDefinition.swagger.json index 4f87a06e07d..3a1d5b2e76c 100644 --- a/source/power_automate/apiDefinition.swagger.json +++ b/source/power_automate/apiDefinition.swagger.json @@ -46,6 +46,43 @@ "x-ms-visibility": "internal" } }, + "/new_answer_v2_schema/{formId}": { + "get": { + "responses": { + "200": { + "description": "Get new answer v2 schema", + "schema": { + "type": "object", + "description": "Description of the answer payload of a selected form.", + "properties": { + "schema": { + "type": "object", + "description": "Field schema of the selected form, used to describe the trigger payload." + } + } + } + } + }, + "summary": "Get new answer v2 schema", + "description": "Retrieves the payload schema of a selected form for the New answer v2 trigger.", + "operationId": "Get-new-answer-v2-schema", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "formId", + "type": "string", + "in": "path", + "description": "Form whose answer schema is returned.", + "x-ms-url-encoding": "single", + "required": true, + "x-ms-summary": "Select Form" + } + ], + "x-ms-visibility": "internal" + } + }, "/hooks_flow/{formId}": { "x-ms-notification-content": { "schema": { @@ -90,10 +127,16 @@ } } }, - "summary": "New answer (Forms)", - "description": "Triggers when a new answer is submitted. Only one active connection per form is supported.", + "summary": "New answer (Forms) (deprecated)", + "description": "Triggers when a new answer is submitted. Only one active connection per form is supported. (deprecated)", "operationId": "Form-answer", "x-ms-trigger": "single", + "deprecated": true, + "x-ms-api-annotation": { + "status": "Production", + "family": "FormAnswer", + "revision": 1 + }, "parameters": [ { "name": "body", @@ -2144,6 +2187,121 @@ ] } }, + "/hooks/power_automate/new_answer_v2": { + "x-ms-notification-content": { + "schema": { + "type": "object", + "x-ms-dynamic-schema": { + "operationId": "Get-new-answer-v2-schema", + "parameters": { + "formId": { + "parameter": "form_id" + } + }, + "value-path": "schema" + } + } + }, + "post": { + "responses": { + "201": { + "description": "Subscription registered successfully.", + "schema": { + "type": "object", + "description": "Result of the subscription registration.", + "properties": { + "result": { + "type": "string", + "description": "Registration outcome reported by the platform." + } + } + } + }, + "400": { + "description": "The subscription could not be registered.", + "schema": { + "type": "object", + "description": "Error returned when the subscription cannot be registered.", + "properties": { + "error": { + "type": "string", + "description": "Description of the reason the registration failed." + } + } + } + } + }, + "operationId": "NewFormAnswerV2", + "summary": "New answer v2 (Forms)", + "description": "Triggers when a new answer is submitted. Only one active connection per form is supported.", + "x-ms-trigger": "single", + "x-ms-api-annotation": { + "status": "Preview", + "family": "FormAnswer", + "revision": 2 + }, + "parameters": [ + { + "name": "event", + "in": "query", + "required": true, + "type": "string", + "default": "new_answer_v2", + "x-ms-visibility": "internal", + "description": "Event name that identifies the subscription type." + }, + { + "name": "form_id", + "in": "query", + "type": "string", + "description": "Form to monitor for this trigger.", + "x-ms-dynamic-values": { + "operationId": "Form-list", + "value-path": "key", + "value-title": "label" + }, + "required": true, + "x-ms-summary": "Select Form", + "x-ms-visibility": "important" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "subscription_url": { + "type": "string", + "description": "Callback URL generated by the platform to receive notifications.", + "x-ms-visibility": "internal", + "x-ms-notification-url": true + }, + "version": { + "type": "string", + "description": "Payload version used by the notification contract.", + "x-ms-visibility": "internal", + "default": "2.0.0" + }, + "platform": { + "type": "string", + "description": "Platform that registers the subscription.", + "x-ms-visibility": "internal", + "default": "power_automate" + } + }, + "x-ms-visibility": "internal", + "required": [ + "version", + "subscription_url", + "platform" + ] + }, + "x-ms-visibility": "internal" + } + ] + } + }, "/assign_task": { "post": { "summary": "Assign Task (Tasks)", diff --git a/source/power_automate/connector_guide_en.html.md b/source/power_automate/connector_guide_en.html.md index 29781b21cf6..cae0bb0033d 100644 --- a/source/power_automate/connector_guide_en.html.md +++ b/source/power_automate/connector_guide_en.html.md @@ -89,7 +89,8 @@ The connector provides the following triggers: | Trigger | Fires when | |---|---| -| New answer | A form answer is submitted | +| New answer v2 | A form answer is submitted, with every question available as its own dynamic content | +| New answer (deprecated) | A form answer is submitted. Kept so flows already built on it keep running | | New PDF | A PDF document is generated | | Status changed | A form answer changes status | | New assigned task | A task is assigned | @@ -112,6 +113,41 @@ The connector also provides the following actions, so a flow can act back on Dat | Send Data | Generates a new form answer and its PDF from an existing template | | Create Ticket | Creates a new ticket | +## The New answer v2 trigger + +**New answer v2** is the trigger to use when you build a new flow on a +submitted form answer. It fires when the answer is submitted, and its fields +arrive as dynamic content you can pick directly in the following steps, with no +**Parse JSON** step to add and no schema to paste. Repeatable tables come +through as a list of answer items: put an **Apply to each** over that list, and +the table's columns are available as dynamic content inside the loop. + +The earlier **New answer** trigger is deprecated, not removed. Flows already +built on it keep running exactly as they do today, and there is no deadline to +move off it. What changes is that it is no longer offered when you build a new +flow, so new work starts on v2. + +To move an existing flow, build the new one alongside it, confirm it does what +you expect, and only then delete the old one. + + + +Two things to plan around: + +- **`pdf_url` is opportunistic.** The field is there, but it carries a value + only when the PDF already exists at the moment the answer is delivered. The + trigger does not wait for the document to be generated, so a flow that binds + `pdf_url` can work every time in testing and then arrive with it empty in + production. If the flow needs the document, build it on the **New PDF** + trigger instead. +- **The field list is a snapshot.** The per-question dynamic content a flow + sees is captured when the trigger is configured. If questions are added to or + removed from the form afterwards, the flow does not see them until you reopen + the trigger and save the flow again. The header fields and the list of answer + items are not affected, only the per-question shortcuts. + ## Important considerations - **One active connection per form.** Triggers associated with a form support @@ -124,14 +160,16 @@ The connector also provides the following actions, so a flow can act back on Dat enabled on your account. - **The connector works in the environment where you created it.** If you work with several environments, repeat the import in each one. -- **The "New answer" trigger doesn't clean up on its own.** If you turn off or - delete a flow that uses the "New answer" trigger (`hooks_flow`), the - subscription is not automatically removed on DataScope's side. To fully - stop it, you also need to go to +- **The deprecated "New answer" trigger doesn't clean up on its own.** If you + turn off or delete a flow that uses it (`hooks_flow`), the subscription is + not automatically removed on DataScope's side. To fully stop it, you also + need to go to app.mydatascope.com/integrations - and delete the connection there. Every other trigger (forms, PDFs, tasks, - tickets, signatures) does clean up automatically when the flow is turned - off in Power Automate. + and delete the connection there. The other triggers, **New answer v2** + included, are unsubscribed on DataScope's side when the flow is deleted or + its trigger is edited, which is what Power Automate guarantees. If you stop a + flow in any other way and want to be sure nothing is left subscribed, delete + its connection on that same page. ## If something doesn't work diff --git a/source/power_automate/connector_guide_es.html.md b/source/power_automate/connector_guide_es.html.md index dd01491b95a..74fc040ef6b 100644 --- a/source/power_automate/connector_guide_es.html.md +++ b/source/power_automate/connector_guide_es.html.md @@ -88,7 +88,8 @@ El conector entrega los siguientes disparadores: | Disparador | Se activa cuando | |---|---| -| Nueva respuesta | Se envía una respuesta de formulario | +| Nueva respuesta v2 | Se envía una respuesta de formulario, con cada pregunta disponible como su propio contenido dinámico | +| Nueva respuesta (obsoleto) | Se envía una respuesta de formulario. Se mantiene para que los flujos ya armados sobre él sigan funcionando | | Nuevo PDF | Se genera un documento PDF | | Cambio de estado | Una respuesta de formulario cambia de estado | | Nueva tarea asignada | Se asigna una tarea | @@ -112,6 +113,42 @@ El conector también entrega las siguientes actions, para que un flujo pueda act | Send Data | Genera una nueva respuesta de formulario y su PDF a partir de una plantilla existente | | Create Ticket | Crea un nuevo ticket | +## El disparador New answer v2 + +**New answer v2** es el disparador que conviene usar al armar un flujo nuevo +sobre una respuesta de formulario. Se activa cuando la respuesta se envía, y +sus campos llegan como contenido dinámico que puedes elegir directamente en los +pasos siguientes, sin agregar un paso **Parse JSON** ni pegar un esquema. Las +tablas repetibles llegan como una lista de ítems de la respuesta: pon un +**Apply to each** sobre esa lista y las columnas de la tabla quedan disponibles +como contenido dinámico dentro del ciclo. + +El disparador anterior, **New answer**, queda obsoleto, pero no se elimina. Los +flujos que ya están armados sobre él siguen funcionando igual que hoy, y no hay +plazo para dejarlo. Lo que cambia es que ya no se ofrece al armar un flujo +nuevo, así que lo nuevo parte en v2. + +Para pasar un flujo existente, arma el nuevo en paralelo, confirma que hace lo +que esperas y solo entonces elimina el antiguo. + + + +Dos cosas para tener en cuenta: + +- **`pdf_url` es oportunista.** El campo está, pero trae un valor solo cuando + el PDF ya existe en el momento en que se entrega la respuesta. El disparador + no espera a que el documento se genere, así que un flujo que usa `pdf_url` + puede funcionar siempre en las pruebas y llegar vacío en producción. Si el + flujo necesita el documento, ármalo sobre el disparador **New PDF**. +- **La lista de campos es una instantánea.** El contenido dinámico por pregunta + que ve un flujo se captura cuando se configura el disparador. Si después se + agregan o se eliminan preguntas del formulario, el flujo no las ve hasta que + vuelvas a abrir el disparador y guardes el flujo de nuevo. Los campos de + cabecera y la lista de ítems de la respuesta no se ven afectados, solo los + accesos directos por pregunta. + ## Consideraciones importantes - **Una conexión activa por formulario.** Los disparadores asociados a un @@ -124,14 +161,16 @@ El conector también entrega las siguientes actions, para que un flujo pueda act funcionalidades están habilitadas en tu cuenta. - **El conector funciona en el entorno donde lo creaste.** Si trabajas con varios entornos, repite la importación en cada uno. -- **El disparador "Nueva respuesta" no se limpia solo al apagarlo.** Si detienes - o eliminas un flow que usa el disparador "Nueva respuesta" (`hooks_flow`), la - suscripción no se elimina automáticamente del lado de DataScope. Para - detenerlo por completo, también debes ir a +- **El disparador obsoleto "Nueva respuesta" no se limpia solo.** Si detienes + o eliminas un flow que lo usa (`hooks_flow`), la suscripción no se elimina + automáticamente del lado de DataScope. Para detenerlo por completo, también + debes ir a app.mydatascope.com/integrations - y eliminar ahí la conexión correspondiente. El resto de los disparadores - (formularios, PDFs, tareas, tickets, firmas) sí se limpian automáticamente - al apagar el flow en Power Automate. + y eliminar ahí la conexión correspondiente. En el resto de los disparadores, + incluido **New answer v2**, la suscripción se elimina del lado de DataScope + cuando se borra el flow o se edita su disparador, que es lo que garantiza + Power Automate. Si detienes un flow de otra manera y quieres asegurarte de + que no quede nada suscrito, elimina su conexión en esa misma página. ## Si algo no funciona diff --git a/source/power_automate/connector_guide_pt.html.md b/source/power_automate/connector_guide_pt.html.md index c1b37c89c2f..d43fd9f18a1 100644 --- a/source/power_automate/connector_guide_pt.html.md +++ b/source/power_automate/connector_guide_pt.html.md @@ -89,7 +89,8 @@ O conector oferece os seguintes disparadores: | Disparador | É acionado quando | |---|---| -| Nova resposta | Uma resposta de formulário é enviada | +| Nova resposta v2 | Uma resposta de formulário é enviada, com cada pergunta disponível como seu próprio conteúdo dinâmico | +| Nova resposta (obsoleto) | Uma resposta de formulário é enviada. Mantido para que os fluxos já criados sobre ele continuem funcionando | | Novo PDF | Um documento PDF é gerado | | Mudança de status | Uma resposta de formulário muda de status | | Nova tarefa atribuída | Uma tarefa é atribuída | @@ -113,6 +114,42 @@ O conector também oferece as seguintes actions, para que um fluxo possa agir so | Send Data | Gera uma nova resposta de formulário e seu PDF a partir de um modelo existente | | Create Ticket | Cria um novo ticket | +## O disparador New answer v2 + +O **New answer v2** é o disparador a usar quando você cria um fluxo novo sobre +uma resposta de formulário. Ele é acionado quando a resposta é enviada, e seus +campos chegam como conteúdo dinâmico que você escolhe direto nas próximas +etapas, sem precisar adicionar uma etapa **Parse JSON** nem colar um schema. As +tabelas repetíveis chegam como uma lista de itens da resposta: coloque um +**Apply to each** sobre essa lista e as colunas da tabela ficam disponíveis +como conteúdo dinâmico dentro do loop. + +O disparador anterior, **New answer**, ficou obsoleto, mas não foi removido. Os +fluxos já criados sobre ele continuam rodando exatamente como hoje, e não há +prazo para sair dele. O que muda é que ele deixa de ser oferecido quando você +cria um fluxo novo, então o que for novo começa na v2. + +Para migrar um fluxo existente, crie o novo em paralelo, confirme que ele faz o +que você espera e só então exclua o antigo. + + + +Dois pontos para levar em conta: + +- **O `pdf_url` é oportunista.** O campo existe, mas só traz um valor quando o + PDF já existe no momento em que a resposta é entregue. O disparador não + espera a geração do documento, então um fluxo que usa o `pdf_url` pode + funcionar sempre nos testes e chegar vazio em produção. Se o fluxo precisa do + documento, crie-o sobre o disparador **New PDF**. +- **A lista de campos é um retrato do momento.** O conteúdo dinâmico por + pergunta que um fluxo enxerga é capturado quando o disparador é configurado. + Se depois disso perguntas forem adicionadas ou removidas do formulário, o + fluxo não as enxerga até você reabrir o disparador e salvar o fluxo de novo. + Os campos de cabeçalho e a lista de itens da resposta não são afetados, + apenas os atalhos por pergunta. + ## Considerações importantes - **Uma conexão ativa por formulário.** Os disparadores associados a um @@ -126,14 +163,16 @@ O conector também oferece as seguintes actions, para que um fluxo possa agir so somente se essas funcionalidades estiverem habilitadas na sua conta. - **O conector funciona no ambiente em que foi criado.** Se você trabalha com vários ambientes, repita a importação em cada um. -- **O disparador "Nova resposta" não se limpa sozinho.** Se você desativar ou - excluir um flow que usa o disparador "Nova resposta" (`hooks_flow`), a - assinatura não é removida automaticamente do lado do DataScope. Para - interrompê-lo por completo, também é necessário acessar +- **O disparador obsoleto "Nova resposta" não se limpa sozinho.** Se você + desativar ou excluir um flow que o usa (`hooks_flow`), a assinatura não é + removida automaticamente do lado do DataScope. Para interrompê-lo por + completo, também é necessário acessar app.mydatascope.com/integrations - e excluir a conexão correspondente ali. Os demais disparadores - (formulários, PDFs, tarefas, tickets, assinaturas) se limpam - automaticamente ao desativar o flow no Power Automate. + e excluir a conexão correspondente ali. Nos demais disparadores, incluindo o + **New answer v2**, a assinatura é removida do lado do DataScope quando o flow + é excluído ou seu disparador é editado, que é o que o Power Automate garante. + Se você parar um flow de outra forma e quiser ter certeza de que nada ficou + assinado, exclua a conexão nessa mesma página. ## Se algo não funcionar From 03dedc7d157c4a8afbde9cc07d59c63cf7d54bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Garc=C3=ADa=20Gonz=C3=A1lez?= Date: Thu, 17 Sep 2026 10:32:07 -0300 Subject: [PATCH 2/3] Name triggers as the designer names them, in all three guides The Spanish and Portuguese trigger tables translated each trigger's name while the action tables beside them did not, and the connector's own labels carry a category suffix the tables dropped. Both are now fixed together: the name column reproduces the connector's summary string exactly, in all three guides. The suffix is not decoration. Two triggers are called Status changed, one for forms and one for tickets, so without it those rows were indistinguishable to a reader looking for the right one. The English guide had the same gap and told them apart only by renaming one of them, which no longer matched the designer. Prose mentions that send a reader to find a trigger now use the full label, and the Spanish and Portuguese tables gained a clause saying the names are the ones Power Automate shows, so ten English strings in an otherwise translated page read as deliberate. Co-Authored-By: Claude Opus 5 --- .../power_automate/connector_guide_en.html.md | 55 ++++++++-------- .../power_automate/connector_guide_es.html.md | 64 ++++++++++--------- .../power_automate/connector_guide_pt.html.md | 61 +++++++++--------- 3 files changed, 92 insertions(+), 88 deletions(-) diff --git a/source/power_automate/connector_guide_en.html.md b/source/power_automate/connector_guide_en.html.md index cae0bb0033d..d300a56313c 100644 --- a/source/power_automate/connector_guide_en.html.md +++ b/source/power_automate/connector_guide_en.html.md @@ -85,20 +85,21 @@ A few things worth knowing before you do this: ## What you can automate -The connector provides the following triggers: +The connector provides the following triggers. The names are the ones you see +in Power Automate's trigger list: | Trigger | Fires when | |---|---| -| New answer v2 | A form answer is submitted, with every question available as its own dynamic content | -| New answer (deprecated) | A form answer is submitted. Kept so flows already built on it keep running | -| New PDF | A PDF document is generated | -| Status changed | A form answer changes status | -| New assigned task | A task is assigned | -| New ticket | A ticket is registered | -| Ticket status changed | A ticket changes status | -| Completed signature | A document signature is completed | -| Rejected signature | A signature request is rejected | -| Updated signature | The signatures on a document are updated | +| New answer v2 (Forms) | A form answer is submitted, with every question available as its own dynamic content | +| New answer (Forms) (deprecated) | A form answer is submitted. Kept so flows already built on it keep running | +| New PDF (Forms) | A PDF document is generated | +| Status changed (Forms) | A form answer changes status | +| New assigned task (Tasks) | A task is assigned | +| New ticket (Tickets) | A ticket is registered | +| Status changed (Tickets) | A ticket changes status | +| Completed signature (Signatures) | A document signature is completed | +| Rejected signature (Signatures) | A signature request is rejected | +| Updated signature (Signatures) | The signatures on a document are updated | Each trigger delivers the event data as dynamic content, ready to use in the following steps of the flow without having to parse the JSON manually. @@ -115,17 +116,17 @@ The connector also provides the following actions, so a flow can act back on Dat ## The New answer v2 trigger -**New answer v2** is the trigger to use when you build a new flow on a +**New answer v2 (Forms)** is the trigger to use when you build a new flow on a submitted form answer. It fires when the answer is submitted, and its fields arrive as dynamic content you can pick directly in the following steps, with no **Parse JSON** step to add and no schema to paste. Repeatable tables come through as a list of answer items: put an **Apply to each** over that list, and the table's columns are available as dynamic content inside the loop. -The earlier **New answer** trigger is deprecated, not removed. Flows already -built on it keep running exactly as they do today, and there is no deadline to -move off it. What changes is that it is no longer offered when you build a new -flow, so new work starts on v2. +The earlier **New answer (Forms)** trigger is deprecated, not removed. Flows +already built on it keep running exactly as they do today, and there is no +deadline to move off it. What changes is that it is no longer offered when you +build a new flow, so new work starts on v2. To move an existing flow, build the new one alongside it, confirm it does what you expect, and only then delete the old one. @@ -140,8 +141,8 @@ Two things to plan around: only when the PDF already exists at the moment the answer is delivered. The trigger does not wait for the document to be generated, so a flow that binds `pdf_url` can work every time in testing and then arrive with it empty in - production. If the flow needs the document, build it on the **New PDF** - trigger instead. + production. If the flow needs the document, build it on the + **New PDF (Forms)** trigger instead. - **The field list is a snapshot.** The per-question dynamic content a flow sees is captured when the trigger is configured. If questions are added to or removed from the form afterwards, the flow does not see them until you reopen @@ -160,16 +161,16 @@ Two things to plan around: enabled on your account. - **The connector works in the environment where you created it.** If you work with several environments, repeat the import in each one. -- **The deprecated "New answer" trigger doesn't clean up on its own.** If you - turn off or delete a flow that uses it (`hooks_flow`), the subscription is - not automatically removed on DataScope's side. To fully stop it, you also - need to go to +- **The New answer (Forms) (deprecated) trigger doesn't clean up on its own.** + If you turn off or delete a flow that uses it (`hooks_flow`), the + subscription is not automatically removed on DataScope's side. To fully stop + it, you also need to go to app.mydatascope.com/integrations - and delete the connection there. The other triggers, **New answer v2** - included, are unsubscribed on DataScope's side when the flow is deleted or - its trigger is edited, which is what Power Automate guarantees. If you stop a - flow in any other way and want to be sure nothing is left subscribed, delete - its connection on that same page. + and delete the connection there. The other triggers, + **New answer v2 (Forms)** included, are unsubscribed on DataScope's side when + the flow is deleted or its trigger is edited, which is what Power Automate + guarantees. If you stop a flow in any other way and want to be sure nothing + is left subscribed, delete its connection on that same page. ## If something doesn't work diff --git a/source/power_automate/connector_guide_es.html.md b/source/power_automate/connector_guide_es.html.md index 74fc040ef6b..4d8ea10d02a 100644 --- a/source/power_automate/connector_guide_es.html.md +++ b/source/power_automate/connector_guide_es.html.md @@ -84,20 +84,21 @@ Algunas cosas que vale la pena saber antes de hacer esto: ## Qué puedes automatizar -El conector entrega los siguientes disparadores: +El conector entrega los siguientes disparadores. Los nombres son los que ves en +la lista de disparadores de Power Automate: | Disparador | Se activa cuando | |---|---| -| Nueva respuesta v2 | Se envía una respuesta de formulario, con cada pregunta disponible como su propio contenido dinámico | -| Nueva respuesta (obsoleto) | Se envía una respuesta de formulario. Se mantiene para que los flujos ya armados sobre él sigan funcionando | -| Nuevo PDF | Se genera un documento PDF | -| Cambio de estado | Una respuesta de formulario cambia de estado | -| Nueva tarea asignada | Se asigna una tarea | -| Nuevo ticket | Se registra un ticket | -| Cambio de estado de ticket | Un ticket cambia de estado | -| Firma completada | Se completa la firma de un documento | -| Firma rechazada | Se rechaza una solicitud de firma | -| Firma actualizada | Se actualizan las firmas de un documento | +| New answer v2 (Forms) | Se envía una respuesta de formulario, con cada pregunta disponible como su propio contenido dinámico | +| New answer (Forms) (deprecated) | Se envía una respuesta de formulario. Se mantiene para que los flujos ya armados sobre él sigan funcionando | +| New PDF (Forms) | Se genera un documento PDF | +| Status changed (Forms) | Una respuesta de formulario cambia de estado | +| New assigned task (Tasks) | Se asigna una tarea | +| New ticket (Tickets) | Se registra un ticket | +| Status changed (Tickets) | Un ticket cambia de estado | +| Completed signature (Signatures) | Se completa la firma de un documento | +| Rejected signature (Signatures) | Se rechaza una solicitud de firma | +| Updated signature (Signatures) | Se actualizan las firmas de un documento | Cada disparador entrega los datos del evento como contenido dinámico, listos para usar en los pasos siguientes del flujo sin necesidad de procesar el JSON @@ -115,18 +116,18 @@ El conector también entrega las siguientes actions, para que un flujo pueda act ## El disparador New answer v2 -**New answer v2** es el disparador que conviene usar al armar un flujo nuevo -sobre una respuesta de formulario. Se activa cuando la respuesta se envía, y -sus campos llegan como contenido dinámico que puedes elegir directamente en los -pasos siguientes, sin agregar un paso **Parse JSON** ni pegar un esquema. Las -tablas repetibles llegan como una lista de ítems de la respuesta: pon un -**Apply to each** sobre esa lista y las columnas de la tabla quedan disponibles -como contenido dinámico dentro del ciclo. +**New answer v2 (Forms)** es el disparador que conviene usar al armar un flujo +nuevo sobre una respuesta de formulario. Se activa cuando la respuesta se +envía, y sus campos llegan como contenido dinámico que puedes elegir +directamente en los pasos siguientes, sin agregar un paso **Parse JSON** ni +pegar un esquema. Las tablas repetibles llegan como una lista de ítems de la +respuesta: pon un **Apply to each** sobre esa lista y las columnas de la tabla +quedan disponibles como contenido dinámico dentro del ciclo. -El disparador anterior, **New answer**, queda obsoleto, pero no se elimina. Los -flujos que ya están armados sobre él siguen funcionando igual que hoy, y no hay -plazo para dejarlo. Lo que cambia es que ya no se ofrece al armar un flujo -nuevo, así que lo nuevo parte en v2. +El disparador anterior, **New answer (Forms)**, queda obsoleto, pero no se +elimina. Los flujos que ya están armados sobre él siguen funcionando igual que +hoy, y no hay plazo para dejarlo. Lo que cambia es que ya no se ofrece al armar +un flujo nuevo, así que lo nuevo parte en v2. Para pasar un flujo existente, arma el nuevo en paralelo, confirma que hace lo que esperas y solo entonces elimina el antiguo. @@ -141,7 +142,7 @@ Dos cosas para tener en cuenta: el PDF ya existe en el momento en que se entrega la respuesta. El disparador no espera a que el documento se genere, así que un flujo que usa `pdf_url` puede funcionar siempre en las pruebas y llegar vacío en producción. Si el - flujo necesita el documento, ármalo sobre el disparador **New PDF**. + flujo necesita el documento, ármalo sobre el disparador **New PDF (Forms)**. - **La lista de campos es una instantánea.** El contenido dinámico por pregunta que ve un flujo se captura cuando se configura el disparador. Si después se agregan o se eliminan preguntas del formulario, el flujo no las ve hasta que @@ -161,16 +162,17 @@ Dos cosas para tener en cuenta: funcionalidades están habilitadas en tu cuenta. - **El conector funciona en el entorno donde lo creaste.** Si trabajas con varios entornos, repite la importación en cada uno. -- **El disparador obsoleto "Nueva respuesta" no se limpia solo.** Si detienes - o eliminas un flow que lo usa (`hooks_flow`), la suscripción no se elimina - automáticamente del lado de DataScope. Para detenerlo por completo, también - debes ir a +- **El disparador New answer (Forms) (deprecated) no se limpia solo.** Si + detienes o eliminas un flow que lo usa (`hooks_flow`), la suscripción no se + elimina automáticamente del lado de DataScope. Para detenerlo por completo, + también debes ir a app.mydatascope.com/integrations y eliminar ahí la conexión correspondiente. En el resto de los disparadores, - incluido **New answer v2**, la suscripción se elimina del lado de DataScope - cuando se borra el flow o se edita su disparador, que es lo que garantiza - Power Automate. Si detienes un flow de otra manera y quieres asegurarte de - que no quede nada suscrito, elimina su conexión en esa misma página. + incluido **New answer v2 (Forms)**, la suscripción se elimina del lado de + DataScope cuando se borra el flow o se edita su disparador, que es lo que + garantiza Power Automate. Si detienes un flow de otra manera y quieres + asegurarte de que no quede nada suscrito, elimina su conexión en esa misma + página. ## Si algo no funciona diff --git a/source/power_automate/connector_guide_pt.html.md b/source/power_automate/connector_guide_pt.html.md index d43fd9f18a1..f90fe3cd961 100644 --- a/source/power_automate/connector_guide_pt.html.md +++ b/source/power_automate/connector_guide_pt.html.md @@ -85,20 +85,21 @@ Algumas coisas que vale a pena saber antes de fazer isso: ## O que você pode automatizar -O conector oferece os seguintes disparadores: +O conector oferece os seguintes disparadores. Os nomes são os que você vê na +lista de disparadores do Power Automate: | Disparador | É acionado quando | |---|---| -| Nova resposta v2 | Uma resposta de formulário é enviada, com cada pergunta disponível como seu próprio conteúdo dinâmico | -| Nova resposta (obsoleto) | Uma resposta de formulário é enviada. Mantido para que os fluxos já criados sobre ele continuem funcionando | -| Novo PDF | Um documento PDF é gerado | -| Mudança de status | Uma resposta de formulário muda de status | -| Nova tarefa atribuída | Uma tarefa é atribuída | -| Novo ticket | Um ticket é registrado | -| Mudança de status de ticket | Um ticket muda de status | -| Assinatura concluída | A assinatura de um documento é concluída | -| Assinatura rejeitada | Uma solicitação de assinatura é rejeitada | -| Assinatura atualizada | As assinaturas de um documento são atualizadas | +| New answer v2 (Forms) | Uma resposta de formulário é enviada, com cada pergunta disponível como seu próprio conteúdo dinâmico | +| New answer (Forms) (deprecated) | Uma resposta de formulário é enviada. Mantido para que os fluxos já criados sobre ele continuem funcionando | +| New PDF (Forms) | Um documento PDF é gerado | +| Status changed (Forms) | Uma resposta de formulário muda de status | +| New assigned task (Tasks) | Uma tarefa é atribuída | +| New ticket (Tickets) | Um ticket é registrado | +| Status changed (Tickets) | Um ticket muda de status | +| Completed signature (Signatures) | A assinatura de um documento é concluída | +| Rejected signature (Signatures) | Uma solicitação de assinatura é rejeitada | +| Updated signature (Signatures) | As assinaturas de um documento são atualizadas | Cada disparador entrega os dados do evento como conteúdo dinâmico, prontos para usar nas próximas etapas do fluxo sem precisar processar o JSON @@ -116,18 +117,18 @@ O conector também oferece as seguintes actions, para que um fluxo possa agir so ## O disparador New answer v2 -O **New answer v2** é o disparador a usar quando você cria um fluxo novo sobre -uma resposta de formulário. Ele é acionado quando a resposta é enviada, e seus -campos chegam como conteúdo dinâmico que você escolhe direto nas próximas -etapas, sem precisar adicionar uma etapa **Parse JSON** nem colar um schema. As -tabelas repetíveis chegam como uma lista de itens da resposta: coloque um -**Apply to each** sobre essa lista e as colunas da tabela ficam disponíveis -como conteúdo dinâmico dentro do loop. +O **New answer v2 (Forms)** é o disparador a usar quando você cria um fluxo +novo sobre uma resposta de formulário. Ele é acionado quando a resposta é +enviada, e seus campos chegam como conteúdo dinâmico que você escolhe direto +nas próximas etapas, sem precisar adicionar uma etapa **Parse JSON** nem colar +um schema. As tabelas repetíveis chegam como uma lista de itens da resposta: +coloque um **Apply to each** sobre essa lista e as colunas da tabela ficam +disponíveis como conteúdo dinâmico dentro do loop. -O disparador anterior, **New answer**, ficou obsoleto, mas não foi removido. Os -fluxos já criados sobre ele continuam rodando exatamente como hoje, e não há -prazo para sair dele. O que muda é que ele deixa de ser oferecido quando você -cria um fluxo novo, então o que for novo começa na v2. +O disparador anterior, **New answer (Forms)**, ficou obsoleto, mas não foi +removido. Os fluxos já criados sobre ele continuam rodando exatamente como +hoje, e não há prazo para sair dele. O que muda é que ele deixa de ser +oferecido quando você cria um fluxo novo, então o que for novo começa na v2. Para migrar um fluxo existente, crie o novo em paralelo, confirme que ele faz o que você espera e só então exclua o antigo. @@ -142,7 +143,7 @@ Dois pontos para levar em conta: PDF já existe no momento em que a resposta é entregue. O disparador não espera a geração do documento, então um fluxo que usa o `pdf_url` pode funcionar sempre nos testes e chegar vazio em produção. Se o fluxo precisa do - documento, crie-o sobre o disparador **New PDF**. + documento, crie-o sobre o disparador **New PDF (Forms)**. - **A lista de campos é um retrato do momento.** O conteúdo dinâmico por pergunta que um fluxo enxerga é capturado quando o disparador é configurado. Se depois disso perguntas forem adicionadas ou removidas do formulário, o @@ -163,16 +164,16 @@ Dois pontos para levar em conta: somente se essas funcionalidades estiverem habilitadas na sua conta. - **O conector funciona no ambiente em que foi criado.** Se você trabalha com vários ambientes, repita a importação em cada um. -- **O disparador obsoleto "Nova resposta" não se limpa sozinho.** Se você - desativar ou excluir um flow que o usa (`hooks_flow`), a assinatura não é - removida automaticamente do lado do DataScope. Para interrompê-lo por +- **O disparador New answer (Forms) (deprecated) não se limpa sozinho.** Se + você desativar ou excluir um flow que o usa (`hooks_flow`), a assinatura não + é removida automaticamente do lado do DataScope. Para interrompê-lo por completo, também é necessário acessar app.mydatascope.com/integrations e excluir a conexão correspondente ali. Nos demais disparadores, incluindo o - **New answer v2**, a assinatura é removida do lado do DataScope quando o flow - é excluído ou seu disparador é editado, que é o que o Power Automate garante. - Se você parar um flow de outra forma e quiser ter certeza de que nada ficou - assinado, exclua a conexão nessa mesma página. + **New answer v2 (Forms)**, a assinatura é removida do lado do DataScope + quando o flow é excluído ou seu disparador é editado, que é o que o Power + Automate garante. Se você parar um flow de outra forma e quiser ter certeza + de que nada ficou assinado, exclua a conexão nessa mesma página. ## Se algo não funcionar From ab59dc06627b4edc42daf1b4bd118f5ecadb2f9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Garc=C3=ADa=20Gonz=C3=A1lez?= Date: Thu, 17 Sep 2026 15:14:27 -0300 Subject: [PATCH 3/3] Say how a question with several answers reaches the flow The per-question shortcut now renders a checklist as the names of what was checked and a list question as `option: value` pairs, which is not something a maker can guess from the designer. The bullet also says the line carries no escapes, so nobody builds a flow that splits it apart. Co-Authored-By: Claude Opus 5 --- source/power_automate/connector_guide_en.html.md | 11 +++++++++-- source/power_automate/connector_guide_es.html.md | 12 ++++++++++-- source/power_automate/connector_guide_pt.html.md | 11 +++++++++-- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/source/power_automate/connector_guide_en.html.md b/source/power_automate/connector_guide_en.html.md index d300a56313c..89978c10fbe 100644 --- a/source/power_automate/connector_guide_en.html.md +++ b/source/power_automate/connector_guide_en.html.md @@ -135,8 +135,15 @@ you expect, and only then delete the old one. While both flows are active the same form answer is delivered twice, in two different formats, once to each flow. Whatever the flow does happens twice: two work orders, two approvals, two emails. Keep that overlap short, and check the result before you leave both of them running. -Two things to plan around: - +Three things to plan around: + +- **A question with several answers arrives as one line of text.** The + per-question shortcut always carries a single value, so a checklist reads as + the names of what was checked, and a question over a list as `option: value` + pairs, separated in both cases by `;`. Nothing in it is escaped, so treat it + as text to show or store, not to split apart. When you need those values one + by one, use the list of answer items, which carries each one as its own field + with its option beside it. - **`pdf_url` is opportunistic.** The field is there, but it carries a value only when the PDF already exists at the moment the answer is delivered. The trigger does not wait for the document to be generated, so a flow that binds diff --git a/source/power_automate/connector_guide_es.html.md b/source/power_automate/connector_guide_es.html.md index 4d8ea10d02a..16c091152fa 100644 --- a/source/power_automate/connector_guide_es.html.md +++ b/source/power_automate/connector_guide_es.html.md @@ -136,8 +136,16 @@ que esperas y solo entonces elimina el antiguo. Mientras los dos flujos estén activos, la misma respuesta de formulario se entrega dos veces, en dos formatos distintos, una vez a cada flujo. Todo lo que haga el flujo ocurre dos veces: dos órdenes de trabajo, dos aprobaciones, dos correos. Mantén corto el periodo en que ambos están activos, y revisa el resultado antes de dejarlos corriendo en paralelo. -Dos cosas para tener en cuenta: - +Tres cosas para tener en cuenta: + +- **Una pregunta con varias respuestas llega como una sola línea de texto.** El + acceso directo por pregunta siempre trae un valor único, así que un checklist + se lee como los nombres de lo que quedó marcado, y una pregunta sobre una + lista como pares `opción: valor`, separados en ambos casos por `;`. Nada de + eso viene escapado, así que conviene tratarlo como texto para mostrar o + guardar, no para separar. Cuando necesites esos valores uno por uno, usa la + lista de ítems de la respuesta, que trae cada uno como campo propio y con su + opción al lado. - **`pdf_url` es oportunista.** El campo está, pero trae un valor solo cuando el PDF ya existe en el momento en que se entrega la respuesta. El disparador no espera a que el documento se genere, así que un flujo que usa `pdf_url` diff --git a/source/power_automate/connector_guide_pt.html.md b/source/power_automate/connector_guide_pt.html.md index f90fe3cd961..1fa87c0c833 100644 --- a/source/power_automate/connector_guide_pt.html.md +++ b/source/power_automate/connector_guide_pt.html.md @@ -137,8 +137,15 @@ que você espera e só então exclua o antigo. Enquanto os dois fluxos estiverem ativos, a mesma resposta de formulário é entregue duas vezes, em dois formatos diferentes, uma vez para cada fluxo. Tudo o que o fluxo faz acontece duas vezes: duas ordens de serviço, duas aprovações, dois emails. Deixe curto o período em que os dois estão ativos, e confira o resultado antes de deixar ambos rodando. -Dois pontos para levar em conta: - +Três pontos para levar em conta: + +- **Uma pergunta com várias respostas chega como uma única linha de texto.** O + atalho por pergunta sempre traz um valor único, então um checklist aparece + como os nomes do que foi marcado, e uma pergunta sobre uma lista como pares + `opção: valor`, separados nos dois casos por `;`. Nada disso vem escapado, + então trate como texto para mostrar ou guardar, não para separar. Quando + precisar desses valores um a um, use a lista de itens da resposta, que traz + cada um como campo próprio e com a sua opção ao lado. - **O `pdf_url` é oportunista.** O campo existe, mas só traz um valor quando o PDF já existe no momento em que a resposta é entregue. O disparador não espera a geração do documento, então um fluxo que usa o `pdf_url` pode