You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use Power Automate to send cards for Power Apps from a flow. By setting up a flow that is triggered by an event, you can automate the process of sending cards in Teams. For instance, you can create a flow that requests the assigned individual to approve or reject an expense when a new record is added to Dataverse. Alternatively, you can create a flow that sends a daily status update in Teams every morning.
21
21
22
-
Use Power Automate to send cards. By setting up a flow that is triggered by an event, you can automate the process of sending cards. For instance, you can create a flow that requests the assigned individual to approve or reject an expense when a new record is added to Dataverse. Alternatively, you can create a flow that sends a daily status update every morning.
22
+
You can use **Send from a flow** option in **Send** menu on the card's **Play** page to launch a Power Automate flow template for sending cards in Teams. You can modify and save this template as a new flow to post your card in Teams chat or channel or send it to a specific Teams user.
23
+
24
+
:::image type="content" source="../media/send-a-card/Send_from_flow.png" alt-text="Select Send from flow option to lauch a Power Automate template.":::
- Create a [card](../tutorials/hello-world-card.md)
28
30
- The [Power Apps Teams app](send-card-in-teams.md#add-power-apps-to-teams) installed in the chat, group chat, or channel that the card will be sent to
29
31
30
-
## Cards for Power Apps connector
32
+
## Use Cards for Power Apps connector in Power Automate
31
33
32
34
The **Cards for Power Apps** connector is used to create instances of cards to send using a flow. The connector has no triggers and two actions:
33
35
@@ -36,20 +38,34 @@ The **Cards for Power Apps** connector is used to create instances of cards to s
36
38
37
39
:::image type="content" source="../media/send-a-card/cards-connector.png" alt-text="Screenshot of the cards for Power Apps connector.":::
38
40
39
-
## Send card in Teams using the Teams connector
41
+
## Send a card for Power Apps in Teams chat or channel
40
42
41
-
Sending a card in Teams requires a card instance. To get a card instance, use the **Cards for Power Apps** connector actions. The **Create card instance** action has `Card` dynamic content that can be used with the **Teams** connector **Post card in a chat or channel** action.
43
+
Sending a card in Teams froma flow requires a card instance. To crearte a card instance, use the **Cards for Power Apps** connector actions. The **Create card instance** action has `Card` dynamic content that can be used with the **Teams** connector **Post card in a chat or channel** action.
42
44
43
-
1. Create or modify an existing flow
45
+
1. Create or modify an existing flow, or use **Send** > **Send from a flow** on cards for Power Apps **Play** page to start with a template.
44
46
1. Make sure the flow has a trigger. In the screenshot below, the trigger is when a new account record is created.
45
-
1. Create or get the card instance you want to send using the **Cards for Power Apps** connector. In the screenshot, we created a card instance of the `Account Card` and setting the `Body` input variable to the `Account Name` of the newly created account record.
47
+
1. Create a card instance you want to send using the **Cards for Power Apps** connector's **Create card instance** action. In the screenshot, we created a card instance of the `Account Card` and setting the `Body` input variable to the `Account Name` of the newly created account record.
46
48
1. Add an action to **Post card in a chat or channel** using the **Teams** connector.
47
-
1. On the action, set **Post as** to `Power Apps (Preview)`.
49
+
1. On the action, set **Post as** to `Power Apps`.
48
50
1. On the action, set **Post in**, **Team** & **Channel**, or **Group chat** to the conversation you want to send the card in. In the example screenshot, this is to the `Cards for Power Apps (Customer Channel)` Teams in the `General` channel.
49
51
1. On the action, set **Card** to the `Card` dynamic content from the **Cards for Power Apps** connector action you added earlier.
50
52
51
53
:::image type="content" source="../media/send-a-card/card-in-flow-example.png" alt-text="Screenshot a flow that creates a card instance when an account record is created and sends it in Teams.":::
52
54
55
+
## Send a card for Power Apps to a Teams user
56
+
You can send a card to a specific Teams user. In a Power Automate flow, use the **Create card instance** action in **Cards for Power Apps** connector actions to create a card instance as `Card` dynamic content. You can use the resulting `Card` dynamic content with the **Teams** connector **Post card in a chat or channel** action to send a card to a specific Teams user.
57
+
58
+
1. Create or modify an existing flow, or use **Send** > **Send from a flow** on cards for Power Apps **Play** page to start with a template.
59
+
1. Make sure the flow has a trigger. In the screenshot below, the trigger is when a new account record is created.
60
+
1. Create a card instance you want to send using the **Cards for Power Apps** connector's **Create card instance** action. In the screenshot, we created a card instance of the `Account Card` and setting the `Body` input variable to the `Account Name` of the newly created account record.
61
+
1. Add an action to **Post card in a chat or channel** using the **Teams** connector.
62
+
1. On the action, set **Post as** to `Power Apps`.
63
+
1. On the action, set **Post in** to **Chat with Power Apps**.
64
+
1. On the action, enter the **Teams user** you want to post the card to.
65
+
1. On the action, set **Card** to the `Card` dynamic content from the **Cards for Power Apps** connector action you added earlier.
66
+
67
+
:::image type="content" source="../media/send-a-card/Send_card_to_a_Teams_user.png" alt-text="Screenshot a flow that creates a card instance when an account record is created and sends it to a specific Teams user.":::
68
+
53
69
## Managing your flow in a solution
54
70
55
71
For more details on managing your flow that uses the Card for Power Apps Connector, see [Manage cards in solutions](../manage-cards/manage-cards.md).
Copy file name to clipboardExpand all lines: powerapps-docs/developer/component-framework/code-components-alm.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ When developing code components, you would follow the steps below:
38
38
39
39
When your code component is ready for testing inside a model-driven app, canvas app, or portal, there are two ways to deploy a code component to Dataverse:
40
40
41
-
1.[pac pcf push](/power-platform/developer/cli/reference/pcf#pac-pcf-push): This deploys a single code component at a time to a temporary **PowerAppsTools** solution.
41
+
1.[pac pcf push](/power-platform/developer/cli/reference/pcf#pac-pcf-push): This deploys a single code component at a time to a solution specified by the `--solution-unique-name` parameter, or a temporary **PowerAppsTools** solution when no solution is specified.
42
42
43
43
2. Using [pac solution init](/power-platform/developer/cli/reference/solution#pac-solution-init) and `msbuild` to build a `cdsproj` solution project that has references to one or more code components. Each code component is added to the `cdsproj` using [pac solution add-reference](/power-platform/developer/cli/reference/solution#pac-solution-add-reference). A solution project can contain references to multiple code components, whereas code component projects may only contain a single code component.
Developers need to be able to style their components so they look like the rest of the application they're included in. They can do this when modern theming is in effect for either a canvas app (via the [Modern controls and themes](../../maker/canvas-apps/controls/modern-controls/overview-modern-controls.md) feature) or model-driven app (through the [new refreshed look](../../user/modern-fluent-design.md)). Use modern theming, which is based on [Fluent UI React v9](https://react.fluentui.dev/), to style your component. This approach is recommended to get the best performance and theming experience for your component.
25
+
26
+
There are four different ways to apply modern theming to your component.
Wrapping Fluent UI v9 controls as a component is the easiest way to utilize modern theming because the modern theme is automatically applied to these controls. The only prerequisite is to ensure your component adds a dependency on the [React controls & platform libraries (preview)](react-controls-platform-libraries.md) as shown below. This approach allows your component to use the same React and Fluent libraries as the platform, and therefore share the same React context that passes the theme tokens down to the component.
36
+
37
+
```xml
38
+
<resources>
39
+
<codepath="index.ts"order="1"/>
40
+
<!-- Dependency on React controls & platform libraries -->
41
+
<platform-libraryname="React"version="16.8.6" />
42
+
<platform-libraryname="Fluent"version="9.4.0" />
43
+
</resources>
44
+
```
45
+
46
+
## Fluent UI v8 controls
47
+
48
+
Fluent provides a migration path for applying v9 theme constructs when you use Fluent UI v8 controls in your component. Use the `createV8Theme` function included in the [Fluent's v8 to v9 migration package](https://www.npmjs.com/package/@fluentui/react-migration-v8-v9) to create a v8 theme based on v9 theme tokens, as shown in the following example:
If your component doesn't use Fluent UI, you can take a dependency directly on the v9 theme tokens available through the `fluentDesignLanguage` context parameter. Use this parameter to get access to all [theme](reference/theming.md) tokens so it can reference any aspect of the theme to style itself.
When your component requires styling that is different from the current theme of the app, create your own `FluentProvider` and pass your own set of theme tokens to be used by your component.
Examples for each of these use cases are available at [Modern Theming API control](./sample-controls/modern-theming-api-control.md).
81
+
82
+
## FAQ
83
+
84
+
This section contains frequently asked questions. If you have a question about this feature, use the **Feedback** for **This page** button at the bottom of this page to create a GitHub issue.
85
+
86
+
### Q: My control uses Fluent UI v9 and has a dependency on the platform libraries, but I don't want to utilize modern theming. How can I disable it for my component?
87
+
88
+
**A**: You can do this two different ways:
89
+
90
+
1. You can create your own component-level `FluentProvider`
91
+
92
+
```tsx
93
+
<FluentProvidertheme={customFluentV9Theme}>
94
+
{/* your control */}
95
+
</FluentProvider>
96
+
```
97
+
98
+
1. You can wrap your control inside `IdPrefixContext.Provider` and set your own `idPrefix` value. This prevents your component from getting theme tokens from the platform.
99
+
100
+
```tsx
101
+
<IdPrefixProvidervalue="custom-control-prefix">
102
+
<Labelweight="semibold">This label is not getting Modern Theming</Label>
103
+
</IdPrefixProvider>
104
+
```
105
+
106
+
### Q: Some of my Fluent UI v9 controls aren't getting styles
107
+
108
+
**A**: Fluent v9 controls that rely on the React Portal need to be rewrapped in the theme provider to ensure styling is properly applied. You can use `FluentProvider`.
109
+
110
+
### Q: How can I check if modern theming is enabled
111
+
112
+
**A**: You can check if tokens are available: `context.fluentDesignLanguage?.tokenTheme`. Or in model-driven applications you can check app settings: `context.appSettings.getIsFluentThemingEnabled()`.
113
+
114
+
## Related articles
115
+
116
+
[Theming (Power Apps component framework API reference)](../component-framework/reference/theming.md)
117
+
[Modern Theming API control](./sample-controls/modern-theming-api-control.md)
118
+
[Use modern themes in canvas apps (preview)](../../maker/canvas-apps/controls/modern-controls/modern-theming.md)
Copy file name to clipboardExpand all lines: powerapps-docs/developer/component-framework/implementing-controls-using-typescript.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -955,7 +955,7 @@ Follow these steps to create and import a [solution](../../maker/data-platform/s
955
955
> Re build the solution file using the command `msbuild/property:configuration=Release` and reimport the solution into Dataverse and run the solution checker. More information: [Debug code components](debugging-custom-controls.md).
956
956
957
957
1. The generated solution zip file is located in the `Solution\bin\debug` folder.
958
-
1. Manually [import the solution into Dataverse](../../maker/data-platform/import-update-export-solutions.md) using [PowerApps](https://make.powerapps.com/?utm_source=padocs&utm_medium=linkinadoc&utm_campaign=referralsfromdoc) once the zip file is ready or automatically using the [Microsoft Power Platform Build Tools](https://marketplace.visualstudio.com/items?itemName=microsoft-IsvExpTools.PowerPlatform-BuildTools).
958
+
1. Manually [import the solution into Dataverse](../../maker/data-platform/import-update-export-solutions.md) using [Power Apps](https://make.powerapps.com/?utm_source=padocs&utm_medium=linkinadoc&utm_campaign=referralsfromdoc) once the zip file is ready or automatically using the [Microsoft Power Platform Build Tools](https://marketplace.visualstudio.com/items?itemName=microsoft-IsvExpTools.PowerPlatform-BuildTools).
959
959
960
960
> [!NOTE]
961
961
> Manually publish the customizations if you are importing unmanaged solution.
0 commit comments