SharePoint lists and Dataverse
SharePoint lists and Dataverse tables (the tables behind Power Apps and Dynamics 365) can be the data of a template: one list item or one row becomes one document.
Connect them
Section titled “Connect them”Each is connected separately on the Connections page of the Company Portal, under Your data connections, with your own Microsoft 365 sign-in:
- SharePoint lists: list items and their attachments, on the sites you can reach. Status and link columns can be written back.
- Dataverse (Power Apps): tables in your Power Apps environments. Once connected, the page lists the Dataverse environments you can reach, with their address and region.
Click Connect, approve the request at Microsoft, and the row shows Connected. SharePoint asks for read and write access to lists on the sites you can reach (Sites.ReadWrite.All), which most organizations let only an admin approve; Dataverse asks to access it as you (user_impersonation). If an admin must approve first, the page shows an Admin consent link to send them. See Admin consent for Microsoft 365 and Connecting your data.
AutomaDoc only ever reads and writes what your own account can.
Make documents with Power Automate
Section titled “Make documents with Power Automate”The AutomaDoc connector makes a document from a list item or a row in a flow:
- Create the template. A flow can fill any template of your company. To make one for the flow, use the Company Portal under Templates (New API template), or Word with the Word add-in, which also reads its fields from a JSON sample.
- Trigger the flow with SharePoint → When an item is created, or Dataverse → When a row is added, modified or deleted.
- Add AutomaDoc → Generate a document and map the item’s or row’s columns to the template’s inputs.
- Save the file where you need it, for example as an item attachment or in a document library, and write a status or link back with SharePoint’s Update item or Dataverse’s Update a row.
Power Automate and Power Apps walks through a complete flow. A flow sends values, not files: a picture input must be a public web address (https://, or http://), so a SharePoint or OneDrive link that needs a sign-in cannot be fetched.
Templates that read a list or a table
Section titled “Templates that read a list or a table”A template can also read a SharePoint list or a Dataverse table itself. The Company Portal’s Templates page lists such templates with the source SharePoint list or Dataverse, and you write and publish them in the Word add-in, where the Fields tab reads the list’s or table’s columns with your connection.
What AutomaDoc reads
Section titled “What AutomaDoc reads”Column names become placeholders: spaces, dots and other characters a placeholder cannot hold become underscores (Due Date is {Due_Date}). {Record_ID}, {Template_Name}, {Table_Name} and {Print_Time} are always there too.
From a SharePoint list item:
| Column | In the template |
|---|---|
| Text, number, currency, calculated | The value. Numbers and currency keep their raw value for number, sum and conditions. |
| Multiple lines of text | The text, with rich text turned into plain text. |
| Date and time | Printed in the template’s timezone; a date-only column as the day the list shows. |
| Choice, managed metadata | The label; several are joined. |
| Person or group | The person’s name, with {Owner.email} for the email address. |
| Hyperlink | The address; {Website.text} prints its description. |
| Picture, thumbnail | A picture, placed through a picture’s Alt Text. |
| Lookup | One value: a nested record, so {Customer.City} reads a column of the item it points to. Several values: a list for a {#Customer}…{/Customer} loop. At most 500 looked-up items are read for one document; past that, a lookup prints as text. |
| Attachments | The item’s attachments as {Attachments}: pictures for a placeholder picture, files for {ATTACH:Attachments}. |
From a Dataverse row:
| Column | In the template |
|---|---|
| Text, whole number, decimal, currency | Dataverse’s own formatted text (currency symbol, separators); the raw number for number, sum, sorting and conditions. |
| Date and time | Printed in the template’s timezone. |
| Yes/No | The column’s own labels; {#if} reads it as yes or no. |
| Choice | The label. Choices (multi-select): the list of labels. |
| Lookup | A nested record that prints the related row’s name, so {Customer.Primary_Contact.Email} reads further. Up to 250 related rows are read for one document; a lookup past that still prints its name. |
| Image, file, notes | Pictures and files, for a placeholder picture or {ATTACH:…}. |
Placeholders are named after the columns’ display names.
What is written back
Section titled “What is written back”A template that reads a list or table can write to the item or row it made a document from:
| SharePoint list | Dataverse | |
|---|---|---|
| Status | A text column. A single line of text is cut to its length. | A text column, cut to its maximum length. |
| The document | As an item attachment; or saved in a library (by default an AutomaDoc folder in the site’s default library) with its link in a text, note or hyperlink column. |
Into a file column, or as a note on the row (subject AutomaDoc document). |
On replacing and keeping earlier documents:
- SharePoint attachments: replace replaces only the attachment of the same name; the item’s other attachments are left alone. Append adds the new one as
name (2).pdf. - A SharePoint note column in append mode keeps the links already there, one per line.
- A Dataverse file column holds one file: replace overwrites it, and append saves only into an empty column (otherwise the document is not saved, with a warning).
- Dataverse notes: append adds a note each time; replace adds the new note, then deletes earlier notes with the same subject and a file. The row’s other notes are never touched. Your organization’s attachment size limit applies.
A combined document (one document from many items or rows) is written to each of them.
Running them
Section titled “Running them”A template that reads a list or a table runs with the HTTP trigger: call it with the SharePoint item id, or the Dataverse row’s GUID, as recordId, and your company API key. It reads with its owner’s connection, because nobody is present to sign in. If the owner disconnects or their connection lapses, the template stops running automatically until they reconnect on the Connections page or someone takes the template over. The HTTP trigger needs Pro, a trial, or at least one Business seat in your company; see Plans, seats and packs.