Back to view formats
View formattingSharePoint Online

Internal CV

This tutorial will help you create a basic internal CV through JSON view formatting.

Internal CV preview card
Sample preview · View original image

Copy. Apply. Make it yours.

Get this format

1 definition

Review the requirements below, then paste this JSON into the matching formatting panel. Show me where.

Use your list's internal column names and replace any tenant-specific URLs or flow IDs. Formatting is presentation, not a way to secure data.

View formatting
Download JSON
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/tile-formatting.schema.json",
  "width": 1200,
  "height": 1240,
  "hideSelection": true,
  "fillHorizontally": true,
  "formatter": {
    "elmType": "div",
    "style": {
      "background-color": "=if([$BACKGROUND.fileName] != '', 'transparent', '#ebecff')",
      "display": "flex",
      "align-items": "flex-start",
      "justify-content": "center"
    },
    "children": [
      {
        "elmType": "img",
        "attributes": {
          "src": "=if([$BACKGROUND.fileName] != '', [$BACKGROUND.serverUrl] + [$BACKGROUND.serverRelativeUrl], '')"
        },
        "style": {
          "height": "100%",
          "position": "absolute",
          "object-fit": "cover",
          "opacity": "0.65",
          "z-index": "0"
        }
      },
      {
        "elmType": "div",
        "style": {
          "height": "100%",
          "width": "100%",
          "position": "absolute",
          "z-index": "0",
          "cursor": "pointer"
        },
        "customRowAction": {
          "action": "defaultClick"
        }
      },
      {
        "elmType": "div",
        "style": {
          "position": "relative",
          "margin-top": "14px",
          "width": "1052px",
          "max-height": "1200px",
          "background-color": "#9c9c9c",
          "box-sizing": "border-box",
          "overflow": "hidden",
          "border-left": "solid 1px #9c9c9c",
          "border-right": "solid 1px #9c9c9c",
          "border-top": "solid 1px #9c9c9c",
          "border-bottom": "solid 1px #9c9c9c",
          "box-shadow": "=if([$BACKGROUND.fileName] != '','5px 5px 12px -4px #404040', '5px 5px 12px -4px #979AFF')",
          "border-radius": "10px",
          "display": "block"
        },
        "children": [
          {
            "elmType": "div",
            "style": {
              "position": "absolute",
              "z-index": "1",
              "box-sizing": "border-box",
              "width": "150px",
              "height": "150px",
              "margin-top": "100px",
              "margin-left": "50px",
              "background-color": "white",
              "border-left": "solid 1px #D8D8D8",
              "border-right": "solid 1px #D8D8D8",
              "border-top": "solid 1px #D8D8D8",
              "border-bottom": "solid 1px #D8D8D8",
              "border-radius": "50%",
              "display": "flex",
              "align-items": "center",
              "justify-content": "center"
            },
            "children": [
              {
                "elmType": "img",
                "attributes": {
                  "src": "=@currentWeb + '/_layouts/15/userphoto.aspx?size=L&accountname=' + [$Author.email]"
                },
                "style": {
                  "width": "138px",
                  "border-radius": "50%"
                }
              }
            ]
          },
          {
            "elmType": "div",
            "style": {
              "box-sizing": "border-box",
              "width": "1052px",
              "height": "200px",
              "overflow": "hidden",
              "background-color": "white",
              "border-radius": "10px 10px 0px 0px",
              "display": "flex",
              "align-items": "center",
              "justify-content": "center"
            },
            "children": [
              {
                "elmType": "img",
                "attributes": {
                  "src": "=if([$COVER.fileName] != '', [$COVER.serverUrl] + [$COVER.serverRelativeUrl], '')"
                },
                "style": {
                  "position": "absolute",
                  "z-index": "0",
                  "margin": "auto",
                  "width": "1052px",
                  "height": "200px",
                  "object-fit": "cover",
                  "border-radius": "10px 10px 0px 0px"
                }
              },
              {
                "elmType": "div",
                "attributes": {
                  "class": "sp-field-bold ms-fontSize-32 sp-css-color-neutralTertiary"
                },
                "style": {
                  "position": "absolute",
                  "z-index": "0",
                  "width": "1052px",
                  "height": "200px",
                  "display": "flex",
                  "align-items": "center",
                  "justify-content": "center",
                  "cursor": "pointer"
                },
                "txtContent": "=if([$COVER.fileName] != '', '', 'Click to add your cover')",
                "customRowAction": {
                  "action": "defaultClick"
                }
              }
            ]
          },
          {
            "elmType": "div",
            "style": {
              "box-sizing": "border-box",
              "display": "block",
              "width": "1052px",
              "max-height": "1000px",
              "background-color": "white",
              "border-radius": "0px 0px 10px 10px"
            },
            "children": [
              {
                "elmType": "div",
                "style": {
                  "position": "relative",
                  "width": "1052px",
                  "height": "50px",
                  "display": "flex",
                  "align-items": "flex-end",
                  "justify-content": "left"
                },
                "children": [
                  {
                    "elmType": "div",
                    "style": {
                      "width": "536px",
                      "height": "50px",
                      "margin-left": "200px",
                      "display": "flex",
                      "align-items": "center",
                      "flex-wrap": "wrap"
                    },
                    "children": [
                      {
                        "elmType": "div",
                        "style": {
                          "box-sizing": "border-box",
                          "width": "536px",
                          "height": "34px",
                          "display": "block",
                          "padding-top": "5px",
                          "white-space": "nowrap",
                          "text-overflow": "ellipsis",
                          "overflow": "hidden",
                          "font-size": "22px",
                          "color": "#5b5fc7"
                        },
                        "attributes": {
                          "class": "sp-field-bold"
                        },
                        "txtContent": "[$Author.title]"
                      },
                      {
                        "elmType": "div",
                        "style": {
                          "width": "536px",
                          "height": "16px",
                          "box-sizing": "border-box",
                          "display": "flex",
                          "padding-bottom": "2px",
                          "align-items": "center",
                          "font-size": "16px",
                          "color": "grey"
                        },
                        "txtContent": "[$Author.department]"
                      }
                    ]
                  },
                  {
                    "elmType": "a",
                    "style": {
                      "box-sizing": "border-box",
                      "margin-right": "16px",
                      "margin-left": "16px",
                      "width": "40px",
                      "height": "40px",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer",
                      "background-color": "#185abd",
                      "border-radius": "50%",
                      "color": "white",
                      "text-decoration": "none",
                      "font-size": "24px"
                    },
                    "attributes": {
                      "href": "https://www.office.com",
                      "target": "_blank",
                      "title": "Open the Microsoft 365 app",
                      "iconName": "HomeSolid"
                    }
                  },
                  {
                    "elmType": "a",
                    "style": {
                      "box-sizing": "border-box",
                      "margin-right": "16px",
                      "width": "40px",
                      "height": "40px",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer",
                      "background-color": "#185abd",
                      "border-radius": "50%",
                      "color": "white",
                      "text-decoration": "none",
                      "font-size": "24px"
                    },
                    "attributes": {
                      "href": "[$YAMMER_PROFILE]",
                      "target": "_blank",
                      "title": "Open this Yammer profile",
                      "iconName": "YammerLogo"
                    }
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "margin-right": "16px",
                      "width": "40px",
                      "height": "40px",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer",
                      "background-color": "#185abd",
                      "border-radius": "50%",
                      "color": "white",
                      "text-decoration": "none",
                      "font-size": "24px"
                    },
                    "attributes": {
                      "title": "Share this profile",
                      "iconName": "Share"
                    },
                    "customRowAction": {
                      "action": "share"
                    }
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "margin-right": "16px",
                      "width": "40px",
                      "height": "40px",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer",
                      "background-color": "#185abd",
                      "border-radius": "50%",
                      "color": "white",
                      "text-decoration": "none",
                      "font-size": "24px"
                    },
                    "attributes": {
                      "iconName": "Contact"
                    },
                    "defaultHoverField": "[$Author]"
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "width": "40px",
                      "height": "40px",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer",
                      "background-color": "#185abd",
                      "border-radius": "50%",
                      "color": "white",
                      "text-decoration": "none",
                      "font-size": "24px"
                    },
                    "attributes": {
                      "title": "Change cover and background",
                      "iconName": "Photo2"
                    },
                    "customRowAction": {
                      "action": "defaultClick"
                    }
                  }
                ]
              },
              {
                "elmType": "div",
                "style": {
                  "position": "relative",
                  "width": "952px",
                  "margin-left": "50px",
                  "height": "50px",
                  "display": "flex",
                  "align-items": "flex-end",
                  "justify-content": "left"
                },
                "attributes": {
                  "class": "sp-field-bold sp-field-fontSize17 sp-css-color-BlackText"
                },
                "txtContent": "About me"
              },
              {
                "elmType": "div",
                "inlineEditField": "[$ABOUT_ME]",
                "style": {
                  "box-sizing": "border-box",
                  "border-radius": "6px",
                  "padding": "4px 6px 0px 6px",
                  "position": "relative",
                  "width": "952px",
                  "margin-left": "50px",
                  "min-height": "30px",
                  "max-height": "98px",
                  "overflow": "hidden",
                  "--inline-editor-border-color": "transparent transparent transparent transparent",
                  "cursor": "text"
                },
                "attributes": {
                  "class": "sp-field-fontSize17 sp-css-color-BlackText ms-bgColor-themeLighterAlt--hover",
                  "title": "[$ABOUT_ME]"
                },
                "txtContent": "[$ABOUT_ME]"
              },
              {
                "elmType": "div",
                "style": {
                  "position": "relative",
                  "width": "952px",
                  "margin-left": "50px",
                  "height": "50px",
                  "display": "flex",
                  "align-items": "center",
                  "justify-content": "left"
                },
                "children": [
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "6px",
                      "width": "451px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "left"
                    },
                    "attributes": {
                      "class": "sp-field-bold sp-field-fontSize17 sp-css-color-BlackText"
                    },
                    "txtContent": "Projects"
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "0px",
                      "padding-left": "8px",
                      "margin-right": "20px",
                      "width": "25px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "visibility": "=if(length([$PROJECTS]) > 0, 'visible', 'hidden')",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer"
                    },
                    "attributes": {
                      "iconName": "NavigateExternalInline",
                      "class": "sp-field-fontSize24 sp-css-color-GreyText"
                    },
                    "customCardProps": {
                      "formatter": {
                        "elmType": "div",
                        "style": {
                          "max-width": "600px",
                          "overflow": "hidden",
                          "display": "block",
                          "box-sizing": "border-box",
                          "border-radius": "6px",
                          "border": "solid 3px #b285d4",
                          "background-color": "white"
                        },
                        "children": [
                          {
                            "elmType": "div",
                            "style": {
                              "height": "60px",
                              "width": "100%",
                              "display": "flex",
                              "align-items": "center",
                              "justify-content": "center",
                              "box-sizing": "border-box",
                              "margin": "0px",
                              "padding": "0px",
                              "color": "#582a73",
                              "font-size": "22px",
                              "font-weight": "700"
                            },
                            "txtContent": "='[!PROJECTS.DisplayName]' + ' - ' + 'Overview'"
                          },
                          {
                            "elmType": "div",
                            "style": {
                              "box-sizing": "border-box",
                              "width": "100%",
                              "display": "flex",
                              "flex-wrap": "wrap",
                              "justify-content": "center",
                              "margin": "0px 0px 40px 0px",
                              "padding": "0px 6px 8px 6px"
                            },
                            "children": [
                              {
                                "forEach": "__INTERNAL__ in [$PROJECTS]",
                                "elmType": "div",
                                "style": {
                                  "box-sizing": "content-box",
                                  "background-color": "#e6c4ff",
                                  "word-wrap": "break-word",
                                  "overflow": "hidden",
                                  "padding": "5px 10px 5px 10px",
                                  "border-radius": "16px",
                                  "max-height": "60px",
                                  "margin": "8px 4px 0px 4px",
                                  "box-shadow": "2px 2px 2px #b285d4"
                                },
                                "attributes": {
                                  "class": "sp-field-fontSize15 sp-css-color-black",
                                  "title": "[$__INTERNAL__]"
                                },
                                "txtContent": "[$__INTERNAL__]"
                              }
                            ]
                          }
                        ]
                      },
                      "openOnEvent": "hover",
                      "directionalHint": "bottomCenter",
                      "isBeakVisible": true,
                      "beakStyle": {
                        "backgroundColor": "#b285d4"
                      }
                    }
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "6px",
                      "margin-left": "20px",
                      "width": "451px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "left"
                    },
                    "attributes": {
                      "class": "sp-field-bold sp-field-fontSize17 sp-css-color-BlackText"
                    },
                    "txtContent": "Skills and Expertise"
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "0px",
                      "padding-left": "8px",
                      "width": "25px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "visibility": "=if(length([$SKILLS_EXPERTISE]) > 0, 'visible', 'hidden')",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer"
                    },
                    "attributes": {
                      "iconName": "NavigateExternalInline",
                      "class": "sp-field-fontSize24 sp-css-color-GreyText"
                    },
                    "customCardProps": {
                      "formatter": {
                        "elmType": "div",
                        "style": {
                          "max-width": "600px",
                          "overflow": "hidden",
                          "display": "block",
                          "box-sizing": "border-box",
                          "border-radius": "6px",
                          "border": "solid 3px #90b3e8",
                          "background-color": "white"
                        },
                        "children": [
                          {
                            "elmType": "div",
                            "style": {
                              "height": "60px",
                              "width": "100%",
                              "display": "flex",
                              "align-items": "center",
                              "justify-content": "center",
                              "box-sizing": "border-box",
                              "margin": "0px",
                              "padding": "0px",
                              "color": "#294671",
                              "font-size": "22px",
                              "font-weight": "700"
                            },
                            "txtContent": "='[!SKILLS_EXPERTISE.DisplayName]' + ' - ' + 'Overview'"
                          },
                          {
                            "elmType": "div",
                            "style": {
                              "box-sizing": "border-box",
                              "width": "100%",
                              "display": "flex",
                              "flex-wrap": "wrap",
                              "justify-content": "center",
                              "margin": "0px 0px 40px 0px",
                              "padding": "0px 6px 8px 6px"
                            },
                            "children": [
                              {
                                "forEach": "__INTERNAL__ in [$SKILLS_EXPERTISE]",
                                "elmType": "div",
                                "style": {
                                  "box-sizing": "content-box",
                                  "background-color": "#cce0ff",
                                  "word-wrap": "break-word",
                                  "overflow": "hidden",
                                  "padding": "5px 10px 5px 10px",
                                  "border-radius": "16px",
                                  "max-height": "60px",
                                  "margin": "8px 4px 0px 4px",
                                  "box-shadow": "2px 2px 2px #90b3e8"
                                },
                                "attributes": {
                                  "class": "sp-field-fontSize15 sp-css-color-black",
                                  "title": "[$__INTERNAL__]"
                                },
                                "txtContent": "[$__INTERNAL__]"
                              }
                            ]
                          }
                        ]
                      },
                      "openOnEvent": "hover",
                      "directionalHint": "bottomCenter",
                      "isBeakVisible": true,
                      "beakStyle": {
                        "backgroundColor": "#90b3e8"
                      }
                    }
                  }
                ]
              },
              {
                "elmType": "div",
                "style": {
                  "box-sizing": "border-box",
                  "border-radius": "6px",
                  "position": "relative",
                  "width": "964px",
                  "margin": "0px 44px 0px 44px",
                  "max-height": "190px",
                  "display": "flex",
                  "align-items": "flex-start",
                  "justify-content": "center"
                },
                "children": [
                  {
                    "elmType": "div",
                    "inlineEditField": "[$PROJECTS]",
                    "style": {
                      "width": "482px",
                      "min-height": "60px",
                      "max-height": "190px",
                      "margin-right": "12px",
                      "box-sizing": "border-box",
                      "border-radius": "6px",
                      "padding": "2px 6px 6px 6px",
                      "overflow": "hidden",
                      "display": "flex",
                      "flex-wrap": "wrap",
                      "justify-content": "flex-start",
                      "--inline-editor-border-color": "transparent transparent transparent transparent"
                    },
                    "attributes": {
                      "class": "sp-css-backgroundColor-BgLilac30--hover"
                    },
                    "children": [
                      {
                        "forEach": "__INTERNAL__ in [$PROJECTS]",
                        "elmType": "div",
                        "style": {
                          "box-sizing": "border-box",
                          "background-color": "#e6c4ff",
                          "max-width": "386px",
                          "padding": "2px 10px 0px 10px",
                          "overflow": "hidden",
                          "text-overflow": "ellipsis",
                          "white-space": "nowrap",
                          "border-radius": "16px",
                          "height": "28px",
                          "margin": "8px 4px 0px 4px",
                          "box-shadow": "2px 2px 2px #b285d4"
                        },
                        "attributes": {
                          "class": "sp-field-fontSize15 sp-css-color-black",
                          "title": "[$__INTERNAL__]"
                        },
                        "txtContent": "[$__INTERNAL__]"
                      }
                    ]
                  },
                  {
                    "elmType": "div",
                    "inlineEditField": "[$SKILLS_EXPERTISE]",
                    "style": {
                      "width": "482px",
                      "min-height": "60px",
                      "max-height": "190px",
                      "margin-left": "12px",
                      "box-sizing": "border-box",
                      "border-radius": "6px",
                      "padding": "2px 6px 6px 6px",
                      "overflow": "hidden",
                      "display": "flex",
                      "flex-wrap": "wrap",
                      "justify-content": "flex-end",
                      "--inline-editor-border-color": "transparent transparent transparent transparent"
                    },
                    "attributes": {
                      "class": "ms-bgColor-themeLighterAlt--hover"
                    },
                    "children": [
                      {
                        "forEach": "__INTERNAL__ in [$SKILLS_EXPERTISE]",
                        "elmType": "div",
                        "style": {
                          "box-sizing": "border-box",
                          "background-color": "#cce0ff",
                          "max-width": "386px",
                          "padding": "2px 10px 0px 10px",
                          "overflow": "hidden",
                          "text-overflow": "ellipsis",
                          "white-space": "nowrap",
                          "border-radius": "16px",
                          "height": "28px",
                          "margin": "8px 4px 0px 4px",
                          "box-shadow": "2px 2px 2px #90b3e8"
                        },
                        "attributes": {
                          "class": "sp-field-fontSize15 sp-css-color-black",
                          "title": "[$__INTERNAL__]"
                        },
                        "txtContent": "[$__INTERNAL__]"
                      }
                    ]
                  }
                ]
              },
              {
                "elmType": "div",
                "style": {
                  "position": "relative",
                  "width": "952px",
                  "margin-top": "10px",
                  "margin-left": "50px",
                  "height": "50px",
                  "display": "flex",
                  "align-items": "center",
                  "justify-content": "left"
                },
                "children": [
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "6px",
                      "width": "451px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "left"
                    },
                    "attributes": {
                      "class": "sp-field-bold sp-field-fontSize17 sp-css-color-BlackText"
                    },
                    "txtContent": "Schools and Education"
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "0px",
                      "padding-left": "8px",
                      "margin-right": "20px",
                      "width": "25px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "visibility": "=if(length([$SCHOOLS_EDUCATION]) > 0, 'visible', 'hidden')",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer"
                    },
                    "attributes": {
                      "iconName": "NavigateExternalInline",
                      "class": "sp-field-fontSize24 sp-css-color-GreyText"
                    },
                    "customCardProps": {
                      "formatter": {
                        "elmType": "div",
                        "style": {
                          "max-width": "600px",
                          "overflow": "hidden",
                          "display": "block",
                          "box-sizing": "border-box",
                          "border-radius": "6px",
                          "border": "solid 3px #69d1b8",
                          "background-color": "white"
                        },
                        "children": [
                          {
                            "elmType": "div",
                            "style": {
                              "height": "60px",
                              "width": "100%",
                              "display": "flex",
                              "align-items": "center",
                              "justify-content": "center",
                              "box-sizing": "border-box",
                              "margin": "0px",
                              "padding": "0px",
                              "color": "#2a7261",
                              "font-size": "22px",
                              "font-weight": "700"
                            },
                            "txtContent": "='[!SCHOOLS_EDUCATION.DisplayName]' + ' - ' + 'Overview'"
                          },
                          {
                            "elmType": "div",
                            "style": {
                              "box-sizing": "border-box",
                              "width": "100%",
                              "display": "flex",
                              "flex-wrap": "wrap",
                              "justify-content": "center",
                              "margin": "0px 0px 40px 0px",
                              "padding": "0px 6px 8px 6px"
                            },
                            "children": [
                              {
                                "forEach": "__INTERNAL__ in [$SCHOOLS_EDUCATION]",
                                "elmType": "div",
                                "style": {
                                  "box-sizing": "content-box",
                                  "background-color": "#b8fcec",
                                  "word-wrap": "break-word",
                                  "overflow": "hidden",
                                  "padding": "5px 10px 5px 10px",
                                  "border-radius": "16px",
                                  "max-height": "60px",
                                  "margin": "8px 4px 0px 4px",
                                  "box-shadow": "2px 2px 2px #69d1b8"
                                },
                                "attributes": {
                                  "class": "sp-field-fontSize15 sp-css-color-black",
                                  "title": "[$__INTERNAL__]"
                                },
                                "txtContent": "[$__INTERNAL__]"
                              }
                            ]
                          }
                        ]
                      },
                      "openOnEvent": "hover",
                      "directionalHint": "bottomCenter",
                      "isBeakVisible": true,
                      "beakStyle": {
                        "backgroundColor": "#69d1b8"
                      }
                    }
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "6px",
                      "margin-left": "20px",
                      "width": "451px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "left"
                    },
                    "attributes": {
                      "class": "sp-field-bold sp-field-fontSize17 sp-css-color-BlackText"
                    },
                    "txtContent": "Badges and Certifications"
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "0px",
                      "padding-left": "8px",
                      "width": "25px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "visibility": "=if(length([$BADGES_CERTIFICATIONS]) > 0, 'visible', 'hidden')",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer"
                    },
                    "attributes": {
                      "iconName": "NavigateExternalInline",
                      "class": "sp-field-fontSize24 sp-css-color-GreyText"
                    },
                    "customCardProps": {
                      "formatter": {
                        "elmType": "div",
                        "style": {
                          "max-width": "600px",
                          "overflow": "hidden",
                          "display": "block",
                          "box-sizing": "border-box",
                          "border-radius": "6px",
                          "border": "solid 3px #dbae60",
                          "background-color": "white"
                        },
                        "children": [
                          {
                            "elmType": "div",
                            "style": {
                              "height": "60px",
                              "width": "100%",
                              "display": "flex",
                              "align-items": "center",
                              "justify-content": "center",
                              "box-sizing": "border-box",
                              "margin": "0px",
                              "padding": "0px",
                              "color": "#715529",
                              "font-size": "22px",
                              "font-weight": "700"
                            },
                            "txtContent": "='[!BADGES_CERTIFICATIONS.DisplayName]' + ' - ' + 'Overview'"
                          },
                          {
                            "elmType": "div",
                            "style": {
                              "box-sizing": "border-box",
                              "width": "100%",
                              "display": "flex",
                              "flex-wrap": "wrap",
                              "justify-content": "center",
                              "margin": "0px 0px 40px 0px",
                              "padding": "0px 6px 8px 6px"
                            },
                            "children": [
                              {
                                "forEach": "__INTERNAL__ in [$BADGES_CERTIFICATIONS]",
                                "elmType": "div",
                                "style": {
                                  "box-sizing": "content-box",
                                  "background-color": "#ffe4b8",
                                  "word-wrap": "break-word",
                                  "overflow": "hidden",
                                  "padding": "5px 10px 5px 10px",
                                  "border-radius": "16px",
                                  "max-height": "60px",
                                  "margin": "8px 4px 0px 4px",
                                  "box-shadow": "2px 2px 2px #dbae60"
                                },
                                "attributes": {
                                  "class": "sp-field-fontSize15 sp-css-color-black",
                                  "title": "[$__INTERNAL__]"
                                },
                                "txtContent": "[$__INTERNAL__]"
                              }
                            ]
                          }
                        ]
                      },
                      "openOnEvent": "hover",
                      "directionalHint": "bottomCenter",
                      "isBeakVisible": true,
                      "beakStyle": {
                        "backgroundColor": "#dbae60"
                      }
                    }
                  }
                ]
              },
              {
                "elmType": "div",
                "style": {
                  "box-sizing": "border-box",
                  "border-radius": "6px",
                  "position": "relative",
                  "width": "964px",
                  "margin": "0px 44px 0px 44px",
                  "max-height": "190px",
                  "display": "flex",
                  "align-items": "flex-start",
                  "justify-content": "center"
                },
                "children": [
                  {
                    "elmType": "div",
                    "inlineEditField": "[$SCHOOLS_EDUCATION]",
                    "style": {
                      "width": "482px",
                      "min-height": "60px",
                      "max-height": "190px",
                      "margin-right": "12px",
                      "box-sizing": "border-box",
                      "border-radius": "6px",
                      "padding": "2px 6px 6px 6px",
                      "overflow": "hidden",
                      "display": "flex",
                      "flex-wrap": "wrap",
                      "justify-content": "flex-start",
                      "--inline-editor-border-color": "transparent transparent transparent transparent"
                    },
                    "attributes": {
                      "class": "sp-css-backgroundColor-BgSage20--hover"
                    },
                    "children": [
                      {
                        "forEach": "__INTERNAL__ in [$SCHOOLS_EDUCATION]",
                        "elmType": "div",
                        "style": {
                          "box-sizing": "border-box",
                          "background-color": "#b8fcec",
                          "max-width": "386px",
                          "padding": "2px 10px 0px 10px",
                          "overflow": "hidden",
                          "text-overflow": "ellipsis",
                          "white-space": "nowrap",
                          "border-radius": "16px",
                          "height": "28px",
                          "margin": "8px 4px 0px 4px",
                          "box-shadow": "2px 2px 2px #69d1b8"
                        },
                        "attributes": {
                          "class": "sp-field-fontSize15 sp-css-color-black",
                          "title": "[$__INTERNAL__]"
                        },
                        "txtContent": "[$__INTERNAL__]"
                      }
                    ]
                  },
                  {
                    "elmType": "div",
                    "inlineEditField": "[$BADGES_CERTIFICATIONS]",
                    "style": {
                      "width": "482px",
                      "min-height": "60px",
                      "max-height": "190px",
                      "margin-left": "12px",
                      "box-sizing": "border-box",
                      "border-radius": "6px",
                      "padding": "2px 6px 6px 6px",
                      "overflow": "hidden",
                      "display": "flex",
                      "flex-wrap": "wrap",
                      "justify-content": "flex-end",
                      "--inline-editor-border-color": "transparent transparent transparent transparent"
                    },
                    "attributes": {
                      "class": "ms-bgColor-warning--hover"
                    },
                    "children": [
                      {
                        "forEach": "__INTERNAL__ in [$BADGES_CERTIFICATIONS]",
                        "elmType": "div",
                        "style": {
                          "box-sizing": "border-box",
                          "background-color": "#ffe4b8",
                          "max-width": "386px",
                          "padding": "2px 10px 0px 10px",
                          "overflow": "hidden",
                          "text-overflow": "ellipsis",
                          "white-space": "nowrap",
                          "border-radius": "16px",
                          "height": "28px",
                          "margin": "8px 4px 0px 4px",
                          "box-shadow": "2px 2px 2px #dbae60"
                        },
                        "attributes": {
                          "class": "sp-field-fontSize15 sp-css-color-black",
                          "title": "[$__INTERNAL__]"
                        },
                        "txtContent": "[$__INTERNAL__]"
                      }
                    ]
                  }
                ]
              },
              {
                "elmType": "div",
                "style": {
                  "position": "relative",
                  "width": "952px",
                  "margin-top": "10px",
                  "margin-left": "50px",
                  "height": "50px",
                  "display": "flex",
                  "align-items": "center",
                  "justify-content": "left"
                },
                "children": [
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "6px",
                      "width": "451px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "left"
                    },
                    "attributes": {
                      "class": "sp-field-bold sp-field-fontSize17 sp-css-color-BlackText"
                    },
                    "txtContent": "My works portfolio"
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "0px",
                      "padding-left": "8px",
                      "margin-top": "4px",
                      "margin-right": "20px",
                      "width": "25px",
                      "height": "46px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer"
                    },
                    "attributes": {
                      "iconName": "Settings",
                      "class": "sp-field-fontSize24 sp-css-color-GreyText"
                    },
                    "customRowAction": {
                      "action": "defaultClick"
                    }
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "6px",
                      "margin-left": "20px",
                      "width": "451px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "align-items": "center",
                      "justify-content": "left"
                    },
                    "attributes": {
                      "class": "sp-field-bold sp-field-fontSize17 sp-css-color-BlackText"
                    },
                    "txtContent": "I'm collaborating with"
                  },
                  {
                    "elmType": "div",
                    "style": {
                      "box-sizing": "border-box",
                      "padding-top": "0px",
                      "padding-left": "8px",
                      "width": "25px",
                      "height": "50px",
                      "border-bottom": "solid 1px grey",
                      "display": "flex",
                      "visibility": "=if(length([$COWORKERS]) > 0, 'visible', 'hidden')",
                      "align-items": "center",
                      "justify-content": "center",
                      "cursor": "pointer"
                    },
                    "attributes": {
                      "iconName": "NavigateExternalInline",
                      "class": "sp-field-fontSize24 sp-css-color-GreyText"
                    },
                    "customCardProps": {
                      "formatter": {
                        "elmType": "div",
                        "style": {
                          "max-width": "600px",
                          "overflow": "hidden",
                          "display": "block",
                          "box-sizing": "border-box",
                          "border-radius": "6px",
                          "border": "solid 3px grey",
                          "background-color": "white"
                        },
                        "children": [
                          {
                            "elmType": "div",
                            "style": {
                              "height": "60px",
                              "width": "100%",
                              "display": "flex",
                              "align-items": "center",
                              "justify-content": "center",
                              "box-sizing": "border-box",
                              "margin": "0px",
                              "padding": "0px",
                              "color": "grey",
                              "font-size": "22px",
                              "font-weight": "700"
                            },
                            "txtContent": "='[!COWORKERS.DisplayName]' + ' - ' + 'Overview'"
                          },
                          {
                            "elmType": "div",
                            "style": {
                              "box-sizing": "border-box",
                              "width": "100%",
                              "display": "flex",
                              "flex-wrap": "wrap",
                              "flex-direction": "row",
                              "justify-content": "center",
                              "margin": "0px 0px 40px 0px",
                              "padding": "0px 6px 8px 6px",
                              "white-space": "nowrap"
                            },
                            "children": [
                              {
                                "forEach": "personIterator in [$COWORKERS]",
                                "elmType": "div",
                                "style": {
                                  "box-sizing": "border-box",
                                  "height": "36px",
                                  "margin": "10px 6px 6px 0px",
                                  "border-radius": "20px",
                                  "display": "flex",
                                  "border": "solid 1px grey",
                                  "box-shadow": "2px 2px 2px #bfbfbd",
                                  "align-items": "center"
                                },
                                "children": [
                                  {
                                    "elmType": "img",
                                    "attributes": {
                                      "src": "=@currentWeb + '/_layouts/15/userphoto.aspx?size=M&accountname=' + [$personIterator.email]",
                                      "title": "[$personIterator.title]"
                                    },
                                    "style": {
                                      "width": "36px",
                                      "height": "36px",
                                      "border-radius": "50%"
                                    },
                                    "defaultHoverField": "[$personIterator]"
                                  },
                                  {
                                    "elmType": "span",
                                    "txtContent": "[$personIterator.title]",
                                    "style": {
                                      "padding": "0 16px 0px 8px",
                                      "font-size": "15px"
                                    },
                                    "defaultHoverField": "[$personIterator]"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      "openOnEvent": "hover",
                      "directionalHint": "bottomCenter",
                      "isBeakVisible": true,
                      "beakStyle": {
                        "backgroundColor": "grey"
                      }
                    }
                  }
                ]
              },
              {
                "elmType": "div",
                "style": {
                  "box-sizing": "border-box",
                  "border-radius": "6px",
                  "position": "relative",
                  "width": "964px",
                  "margin": "0px 44px 0px 44px",
                  "min-height": "120px",
                  "max-height": "240px",
                  "display": "flex",
                  "align-items": "flex-start",
                  "justify-content": "center"
                },
                "children": [
                  {
                    "elmType": "div",
                    "style": {
                      "width": "482px",
                      "min-height": "60px",
                      "max-height": "190px",
                      "margin-right": "12px",
                      "margin-bottom": "50px",
                      "box-sizing": "border-box",
                      "border-radius": "6px",
                      "padding": "2px 6px 6px 6px",
                      "overflow": "hidden",
                      "display": "=if([$MY_WORKS] =='', 'none', 'flex')",
                      "flex-wrap": "wrap",
                      "justify-content": "left",
                      "--inline-editor-border-color": "transparent transparent transparent transparent"
                    },
                    "children": [
                      {
                        "forEach": "iteratorName in split([$MY_WORKS],':')",
                        "elmType": "div",
                        "style": {
                          "height": "86px",
                          "width": "146px",
                          "margin": "6px 6px 2px 0px",
                          "border-radius": "6px",
                          "cursor": "pointer",
                          "display": "block"
                        },
                        "attributes": {
                          "class": "sp-css-backgroundColor-BgLightBlue20",
                          "title": "[$iteratorName]"
                        },
                        "children": [
                          {
                            "elmType": "img",
                            "style": {
                              "width": "56px",
                              "position": "absolute",
                              "margin-left": "45px",
                              "margin-right": "45px",
                              "z-index": "0"
                            },
                            "attributes": {
                              "href": "=@currentWeb + '/Lists/' + 'YOUR-LIST-NAME' + '/Attachments/' + [$ID] + '/' + [$iteratorName] + '?web=1'",
                              "src": "=if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.pdf', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/pdf.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.docx' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.dotx' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.doc', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/docx.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.pptx' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.potx' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.ppt' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.ppsx', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/pptx.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.xlsx' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.xlsm' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.xml' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.csv', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/xlsx.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.vsdx' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.vsd' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.vst' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.vss', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/vsdx.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.jpg' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.bmp' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.gif' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.png', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/photo.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.svg' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.eps', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/vector.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.mp4' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.avi' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.webm' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.wmv' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.mkv', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/video.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.mp3' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.flac' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.wav' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.wma' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.ogg', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/audio.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.zip' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.7z' || substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.rar', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/zip.svg', if(substring([$iteratorName], lastIndexOf([$iteratorName], '.'), 700) =='.txt', 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20220825.001/assets/item-types/20/txt.svg', '')))))))))))"
                            }
                          },
                          {
                            "elmType": "a",
                            "txtContent": "[$iteratorName]",
                            "style": {
                              "position": "absolute",
                              "z-index": "1",
                              "box-sizing": "border-box",
                              "width": "146px",
                              "height": "86px",
                              "display": "block",
                              "white-space": "nowrap",
                              "overflow": "hidden",
                              "text-overflow": "ellipsis",
                              "text-align": "center",
                              "padding": "60px 4px 0px 4px",
                              "font-size": "14px",
                              "text-decoration": "none"
                            },
                            "attributes": {
                              "href": "=@currentWeb + '/Lists/' + 'YOUR-LIST-NAME' + '/Attachments/' + [$ID] + '/' + [$iteratorName] + '?web=1'",
                              "target": "blank",
                              "class": "sp-css-color-DarkBlueText"
                            }
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "elmType": "div",
                    "inlineEditField": "[$COWORKERS]",
                    "style": {
                      "width": "482px",
                      "min-height": "62px",
                      "max-height": "124px",
                      "margin-left": "=if([$MY_WORKS] =='', '494px', '12px')",
                      "box-sizing": "border-box",
                      "border-radius": "6px",
                      "padding": "2px 6px 6px 6px",
                      "overflow": "hidden",
                      "display": "flex",
                      "flex-wrap": "wrap",
                      "justify-content": "flex-start",
                      "--inline-editor-border-color": "transparent transparent transparent transparent"
                    },
                    "attributes": {
                      "class": "sp-css-backgroundColor-neutralLighter--hover"
                    },
                    "children": [
                      {
                        "forEach": "personIterator in [$COWORKERS]",
                        "elmType": "img",
                        "attributes": {
                          "src": "=@currentWeb + '/_layouts/15/userphoto.aspx?size=M&accountname=' + [$personIterator.email]"
                        },
                        "style": {
                          "box-sizing": "border-box",
                          "width": "50px",
                          "height": "50px",
                          "border-radius": "50%",
                          "margin": "8px 10px 0px 4px",
                          "box-shadow": "2px 2px 2px #bfbfbd"
                        },
                        "defaultHoverField": "[$personIterator]"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}
Schema compatibility review notes

This historical definition differs from the pinned Microsoft schema. This may indicate an unsupported pattern or a schema limitation. Check the original requirements and test in your tenant before use.

  • /formatter/children/2/children/2/children/8/children/0/children/0/forEach must match pattern "^[^\]\$@\. ]+ in (\@currentField|\[\$.+\])$"

From the contributor

How to use this sample

Summary

This tutorial will help you create a basic internal CV through JSON view formatting. Thanks to JSON formatting, it's possible to create a large custom card to be used as a form itself, by taking advantage of the inline editing feature. Let others know more about you, what you're good at, and what you're working on right now. Add projects, skills, and education history to your profile to help others find you when they're looking for people with a certain expertise.

screenshot of the sample

Important notes

This solution is not intended to encompass an entire management process, but it should be considered as an additional tool to support a single task or process phase, where users periodically update their respective internal CV. The final result, including its features, has been tested with the following screen sizes:

1) 27" - 2560 X 1440

2) 24" - 1920 x 1080

3) 17" - 1920 x 1080

4) 17" - 1280 x 1024 (zoom out may be required)

5) 13" - 1280 x 800

⚠️ Microsoft Lists mobile app doesn't support the usage of this custom view, whereas an OOTB view would let users to fill out the standard form.

Solution breakdown

Here is a visual description of the user interface:

breakdown

View requirements:

1) LIST CREATION: create a new list from scratch with the following columns, including their exact names with capital letters:

COLUMN NAME COLUMN TYPE ADDITIONAL INFORMATION
COVER Image This will allow a user to customize their profile image header.
BACKGROUND Image This will allow a user to add a custom image background.
Created By Person or Group This is a standard column, required to display a user name in the internal CV. Include this column in your view.
YAMMER_PROFILE Multiple lines of text (Rich text disabled) This column allows a user to write his/her Yammer profile link in the standard right pane and make it available to others, through the corresponding toolbar icon.
ABOUT_ME Multiple lines of text (Rich text disabled) This column allows a user to provide a short personal description.
PROJECTS Multi-Select Choice This column allows a user to list both past and current projects. List owners (HR personnel) can setup this column to contain custom choices or not.
SKILLS_EXPERTISE Multi-Select Choice This column allows a user to list both skills and expertise. List owners (HR personnel) can setup this column to contain custom choices or not.
SCHOOLS_EDUCATION Multi-Select Choice This column allows a user to list info about his/her schools and education path. Custom choices are recommended.
BADGES_CERTIFICATIONS Multi-Select Choice This column allows a user to list badges and certifications earned. List owners (HR personnel) can setup this column to contain custom choices or not.
MY_WORKS Multiple lines of text (Rich text disabled) This column depends on the OOTB Attachments column and a specific Power Automate flow to list and display clickable attachments tiles in the internal CV.
COWORKERS Multi-Select Person Although Microsoft 365 already provides info about related colleagues, a user could provide updated and consistent info about actual coworkers he/she is collaborating with.

NOTE: the standard and well known Title column isn't used in this sample, therefore you can make it not mandatory through the advanced list settings and exclude it both from the view and the standard right pane form.

2) GALLERY VIEW CREATION: create a new Gallery view and provide a custom name.

3) JSON CODE: copy the JSON code available HERE.

4) GALLERY VIEW FORMATTING: paste the JSON code into the view formatting box (Advanced formatting mode):

Sample illustration

5) ADVANCED PERMISSION SETTINGS: an internal CV should only be edited by the user who created it. Therefore, to avoid unexpected and unwanted changes by other users, proper permission settings are highly recommended. Go to the list settings --> advanced settings --> and select "Create items and edit items that were created by the user".

advanced permission settings

6) VIEW FILTERING FOR A BETTER USER EXPERIENCE: even if a user can open this list with all the existing items (internal CVs created by others), setting up an already filtered view could be a better option. This behaviour is recommended to allow a user to open his/her internal CV later, without performing a search. To make this work, go to the list settings, scroll down and click on the gallery view you just created. Then, scroll down again to the Filter section, apply and save the following setup:

view filtering

7) YOUR LIST NAME REPLACEMENT: go to line number 1305 and 1328 of the JSON code and replace the dummy text with your real list name, as shown in the sample image below:

list name replacement

⚠️ Warning: the real list name is the one you can find in your browser address bar! Therefore, if you have created a list named "Internal CV", then you have to copy the coded name in the address bar, that is "Internal%20CV".

EMPTY CARD AFTER ITEM CREATION

Since this sample doesn't have any mandatory column, a user can create a new internal CV and save it immediately, without worrying about the standard right pane form. The resulting empty card will be ready to be filled out, thanks to the inline editing feature of Microsoft Lists:

list name replacement

IT'S CLOUDY THERE! CUSTOM HOVERCARD OVERVIEW

Each profile section will expand up to a maximum height. If the number of entries (coloured pills) exceeds the visible space, they will be hidden. In this case, a corresponding hovercard will offer a complete overview as shown in the animated picture below:

view filtering

MY WORKS PORTFOLIO AND POWER AUTOMATE FLOW:

To correctly display the attachments as works portfolio, you should setup a specific Power Automate flow. Every time attachments are added, a Power Automate flow will update info into the MY_WORKS column previously created and the JSON code will "translate" these info to clickable tiles, thanks to the split operator. Furthermore, a service account used to run this flow should be included as list owner in order to override the permission settings illustrated in point n. 5 above.

HOW IT WORKS

A Power Automate flow uses a service account (or a personal account not meant for actual use of this solution) to check if one or more attachments are added to an item. This flow is triggered every time a new item is created or modified by other users.

If you are not familiar with Power Automate or your organization has some limitations about performing such operation, you can still take advantage of the works portfolio section! Since these attachments wouldn't be updated everyday, you could provide your users with a basic training to make them manually write the attachments names, separated by colon. For example: Hello world.docx:Presentation.pptx:Table.xlsx would return 3 clickable tiles in the works portfolio section.

Here is an overview of the Power Automate flow:

power automate flow

HOW TO AVOID INFINITE LOOPS

If a Power Automate account updates an item with all its attachments labels, then the trigger will run again, given that the item has been modified. This behaviour would lead to an infinite loop, just because the service account is doing what we setup!

How to prevent this unwanted behaviour?

As explained in a tutorial made by Reza Dorrani, you have to setup a trigger condition. In this tutorial, the trigger condition checks if the item has been modified by a service account used to run the flow. If yes, the trigger condition will automatically stop the flow, then avoiding infinite loops.

trigger condition

More info and details

💡 You can find out more about the split operator in a detailed article written by Michel Mendes and an amazing implementation shared by Tetsuya Kawahara.

Sample

Solution Author(s)
internal-cv.json Federico Sapia

Version history

Version Date Comments
1.0 December 21, 2022 Initial release

Disclaimer

THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.