Exact Online Premium (Preview)
Connect to your Exact Online Premium account and get notified when business entities are created or updated.
Currently supported entities are Sales Orders, Projects, Accounts and Opportunities.
More entities and events will be added in the future.
This connector is available in the following products and regions:
Service | Class | Regions |
---|---|---|
Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Contact | |
---|---|
Name | Exact |
URL | https://www.exact.com |
Connector Metadata | |
---|---|
Publisher | Exact MKB Software BV |
Website | https://www.exact.com |
Privacy policy | https://www.exact.com/trust/privacy/privacy-statement |
Categories | Collaboration;Finance |
The Exact Online Premium connector for Power Automate allows receiving notifications from Exact Online when a business entity record changes. For certain entities, a trigger can be created that responds to newly created or modified records. In addition, the connector can perform some custom formatting, reducing complexity for the user.
Prerequisites
In order to use the connector, an Exact Online Premium subscription is required.
How to get credentials
This connector uses OAuth authorization on the Exact Online platform. Log in with your personal Exact Online Premium account.
Get started with your connector
The connector provides several triggers for modified or newly created business entity records - at this time for accounts, opportunities, projects and sales orders. Start your flow with one of these triggers.
- Create a new flow in Power Automate and select one of the triggers as a starting point
- When a [entity] is created or changed
- You need to choose one of the available companies in the dropdown control - the trigger will be created for this company only
- The events need to be enabled in Exact Online as well, otherwise you will not receive anything in Power Automate
- Go to Master Data > Flow > Overview: Flows and either create a new flow or modify an existing one
- Select the appropriate Entity and Event, for example Account / When an account is modified
- You may need to create multiple flows if you want to receive both created and modified records
A message coming from Exact Online contains a field called Payload
with the data of the created or modified record. The connector has an action Get Values that prepares this Payload for your needs.
- As the Entity Type, select the same entity as the trigger
- As the Value Type, select the following:
- New Values if you want to be able to select specific fields of the new (changed) state in other actions
- Old Values if you want to be able to select specific fields of the old (unchanged) state in other actions
- Table if you want to get the content as a whole collection for use in other actions
- See the Examples section below for more details
- The Payload parameter, by default, has a reference to the Payload property of the trigger message. You shouldn't need to change this.
- Additional parameters Content-Type and Accept are by default set to application/json. You shouldn't need to change this.
Examples
Example 1: only process sales orders valued over 10,000 euros
- Use trigger When a sales order is created or changed
- Add an action Get Values with Entity set to Sales order and Value Type set to New values
- Use a Condition block (Control built-in action)
- Set the condition to
AmountDC
| less than |10000
- Note, AmountDC is an output of Get values
- Set the condition to
- In the true branch of the condition block, add a Terminate action (Control built-in action)
Example 2: output the changed fields to an email
- Use any of the available created/changed triggers
- Add an action Get Values with the same Entity as the trigger, and Value Type set to Table
- Add a Filter action (Data Operation built-in action) with the output of Get values as its input, and as a condition set oldValue | Not equal to | newValue
- Add a Create HTML Table action (Data Operation built-in action) and use the output of the Filter action
- Create an Outlook action Send email and include the output of the Create HTML Table action as part of the message
Known issues and limitations
Empty message for connectivity test
When setting up a new flow, or when turning on an existing flow, a message is sent to Exact Online to register the flow. Exact Online in turn sends a test message (without content) to confirm the connection.
If you don't deal with this message within your flow, the flow may end in error, or send notifications with incomplete content. Since it's usually a one-off behavior, you can choose to accept it, but you may get warnings about failing flows.
A more elegant way to deal with it is to test if the message is empty in a Condition action. The test empty(triggerOutputs()?['body'])
| equals | true
is a good way to do this. In the true branch, add a Terminate action with outcome Succeeded. Then continue the actual flow after the Condition action.
Common errors and remedies
So far no errors have been encountered.
FAQ
What exactly does the Get Values action do?
Get Values performs a couple of actions that would otherwise require multiple more complex actions in your flow. In order, these are:
- It takes the
Payload
field from the trigger and converts its text to a JSON object. This is equivalent to thejson(...)
function; - It loads a schema for this JSON object so its properties can be referenced in further actions. You could do this with the Parse JSON action, but you'd need to supply the entire schema yourself;
- It can convert the incoming payload either to a complete table with all data, or to an object showing the old or new state of the entity. The latter is relatively complex to achieve in a flow.
What should the value for Payload be in the Get Values action?
By default, this is set to triggerOutputs()?['body/Content/Payload']
which is the reference to the Payload field received in the trigger. You shouldn't need to change this.
Why do I need to supply the Entity type for Get Values?
The Get Values action uses a technique called dynamic schema generation, which allows us to select the properties of the chosen entity in further actions. This is a feature of the flow designer. Unfortunately, at design time, the trigger can not pass the selected entity type on to other actions. Therefore the entity type needs to be selected again.
What happens if I select the wrong Entity type for Get Values?
The flow designer will show the wrong properties for the received entity, for example project properties on a sales order. That means some properties that are part of the entity are not shown, and some properties that are shown are not actually part of the entity.
You can still access the properties if they exist on the entity, but you'll have to enter the reference manually.
Choosing a nonexistent property in another action will simply result in an empty value; the consequences of that will depend on the action.
Throttling Limits
Name | Calls | Renewal Period |
---|---|---|
API calls per connection | 100 | 60 seconds |
Actions
Get values |
This loads the values from the trigger's Payload field in a format of choice. |
Get values
This loads the values from the trigger's Payload field in a format of choice.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Content-Type header
|
Content-Type | string |
Specify the content type of the payload. |
|
Accept header
|
Accept | string |
Specify the accepted response format. |
|
Entity Type
|
EntityType | True | string |
Select the type of business entity for this operation. |
Value Type
|
ValueType | True | string |
Select the value type for this operation. |
Payload
|
body | string |
Add reference to Payload field here |
Returns
Triggers
When a project is created or changed |
This subscribes to create or change events for projects. |
When a sales order is created or changed |
This subscribes to create or change events for sales orders. |
When an account is created or changed |
This subscribes to create or change events for accounts. |
When an opportunity is created or changed |
This subscribes to create or change events for opportunities. |
When a project is created or changed
This subscribes to create or change events for projects.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Company
|
Company | True | string |
Select the company for which you want to receive the events. |
Returns
- Body
- EntityChangedEvent
When a sales order is created or changed
This subscribes to create or change events for sales orders.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Company
|
Company | True | string |
Select the company for which you want to receive the events. |
Returns
- Body
- EntityChangedEvent
When an account is created or changed
This subscribes to create or change events for accounts.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Company
|
Company | True | string |
Select the company for which you want to receive the events. |
Returns
- Body
- EntityChangedEvent
When an opportunity is created or changed
This subscribes to create or change events for opportunities.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Company
|
Company | True | string |
Select the company for which you want to receive the events. |
Returns
- Body
- EntityChangedEvent
Definitions
guidText
EntityChangedEvent
Name | Path | Type | Description |
---|---|---|---|
Content
|
Content | ChangeEventContent | |
HashCode
|
HashCode | string |
ChangeEventContent
Name | Path | Type | Description |
---|---|---|---|
Topic
|
Topic | string | |
ClientId
|
ClientId | guidText | |
Company
|
Division | integer |
Company |
Action
|
Action | string | |
Key
|
Key | guidText | |
ExactOnlineEndpoint
|
ExactOnlineEndpoint | string | |
EventCreatedOn
|
EventCreatedOn | string | |
Payload
|
Payload | string |