diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/1.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/1.png new file mode 100644 index 00000000..726cde47 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/1.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/10.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/10.png new file mode 100644 index 00000000..a88d5d8b Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/10.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/2.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/2.png new file mode 100644 index 00000000..7087109c Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/2.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/3.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/3.png new file mode 100644 index 00000000..aae562bf Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/3.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/4.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/4.png new file mode 100644 index 00000000..85d1e24d Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/4.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/5.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/5.png new file mode 100644 index 00000000..ce0d7728 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/5.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/6.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/6.png new file mode 100644 index 00000000..b7b3cd01 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/6.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/7.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/7.png new file mode 100644 index 00000000..b053ded8 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/7.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/8.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/8.png new file mode 100644 index 00000000..3cf0e617 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/8.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/9.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/9.png new file mode 100644 index 00000000..3aff50c3 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/9.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/caret.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/caret.png new file mode 100644 index 00000000..13a132ab Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/caret.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/closeview.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/closeview.png new file mode 100644 index 00000000..d0fbb0e4 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/closeview.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/crane.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/crane.png new file mode 100644 index 00000000..225ecf3f Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/crane.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/eapi_1.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/eapi_1.png new file mode 100644 index 00000000..c9c56824 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/eapi_1.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/facebook.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/facebook.png new file mode 100644 index 00000000..fa3f0e02 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/facebook.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/greencheckbox.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/greencheckbox.png new file mode 100644 index 00000000..69cb876e Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/greencheckbox.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_13.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_13.png new file mode 100644 index 00000000..abd41144 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_13.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_14.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_14.png new file mode 100644 index 00000000..750d8b68 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_14.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_15.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_15.png new file mode 100644 index 00000000..ec89f993 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_15.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_4.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_4.png new file mode 100644 index 00000000..42184717 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_4.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_5.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_5.png new file mode 100644 index 00000000..5680492e Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_5.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_6.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_6.png new file mode 100644 index 00000000..3b7f89ac Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_6.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_7.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_7.png new file mode 100644 index 00000000..401426d7 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_7.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_9.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_9.png new file mode 100644 index 00000000..2f7a8f17 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/gs_9.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/heart_icon.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/heart_icon.png new file mode 100644 index 00000000..bff9ea90 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/heart_icon.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/horizonalline.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/horizonalline.png new file mode 100644 index 00000000..7c49d872 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/horizonalline.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/jwt6.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/jwt6.png new file mode 100644 index 00000000..0e9dc7a1 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/jwt6.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/linkedin.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/linkedin.png new file mode 100644 index 00000000..d1a0636d Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/linkedin.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_01.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_01.png new file mode 100644 index 00000000..3906aeed Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_01.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_02.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_02.png new file mode 100644 index 00000000..651c2ba8 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_02.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_03.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_03.png new file mode 100644 index 00000000..3f1094af Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_03.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_04.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_04.png new file mode 100644 index 00000000..aba1ee04 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_04.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_05.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_05.png new file mode 100644 index 00000000..2cb70cdd Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_05.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_06.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_06.png new file mode 100644 index 00000000..07d47ead Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_06.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_07.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_07.png new file mode 100644 index 00000000..68ec9de4 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_07.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_08.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_08.png new file mode 100644 index 00000000..45e36c80 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_08.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_09.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_09.png new file mode 100644 index 00000000..2f5b7250 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_09.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_10.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_10.png new file mode 100644 index 00000000..8ac8952f Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_10.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_11.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_11.png new file mode 100644 index 00000000..550078ed Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_11.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_12.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_12.png new file mode 100644 index 00000000..cdac4486 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_12.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_13.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_13.png new file mode 100644 index 00000000..ca7ef622 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_13.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_14.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_14.png new file mode 100644 index 00000000..e9b008b6 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_14.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_15.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_15.png new file mode 100644 index 00000000..bfe87660 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_15.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_16.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_16.png new file mode 100644 index 00000000..9a12ce62 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_16.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_17.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_17.png new file mode 100644 index 00000000..73a342b3 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_17.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_18.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_18.png new file mode 100644 index 00000000..b5c2e963 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_18.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_19.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_19.png new file mode 100644 index 00000000..0e4189d5 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_19.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_20.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_20.png new file mode 100644 index 00000000..b1bdd9e2 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_20.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_21.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_21.png new file mode 100644 index 00000000..fdcbce40 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_21.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_22.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_22.png new file mode 100644 index 00000000..4ea6e9c5 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/msp_22.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sigma_footer.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sigma_footer.png new file mode 100644 index 00000000..df51d771 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sigma_footer.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sn_15.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sn_15.png new file mode 100644 index 00000000..7596c926 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sn_15.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sn_16.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sn_16.png new file mode 100644 index 00000000..2c4ed62a Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sn_16.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_01.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_01.png new file mode 100644 index 00000000..ee375cec Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_01.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_02.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_02.png new file mode 100644 index 00000000..4bc2ab5a Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_02.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_03.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_03.png new file mode 100644 index 00000000..d502a598 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_03.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_04.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_04.png new file mode 100644 index 00000000..38591e3e Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_04.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_05.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_05.png new file mode 100644 index 00000000..8cc11469 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_05.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_06.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_06.png new file mode 100644 index 00000000..7c4a192d Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_06.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_07.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_07.png new file mode 100644 index 00000000..945accae Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_07.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_08.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_08.png new file mode 100644 index 00000000..bbc58bee Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_08.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_09.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_09.png new file mode 100644 index 00000000..81d81581 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_09.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_10.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_10.png new file mode 100644 index 00000000..402960e9 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_10.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_11.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_11.png new file mode 100644 index 00000000..e2f4c4bf Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_11.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_12.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_12.png new file mode 100644 index 00000000..75559f91 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_12.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_13.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_13.png new file mode 100644 index 00000000..0163d612 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_13.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_14.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_14.png new file mode 100644 index 00000000..55f89649 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_14.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_15.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_15.png new file mode 100644 index 00000000..f8895cf4 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_15.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_16.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_16.png new file mode 100644 index 00000000..d85c353b Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_16.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_17.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_17.png new file mode 100644 index 00000000..60f16197 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_17.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_18.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_18.png new file mode 100644 index 00000000..51b9b3d2 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_18.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_19.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_19.png new file mode 100644 index 00000000..c601a8db Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_19.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_20.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_20.png new file mode 100644 index 00000000..ed4023cb Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_20.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_21.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_21.png new file mode 100644 index 00000000..89c56c4b Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_21.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_22.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_22.png new file mode 100644 index 00000000..6cdbad99 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_22.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_23.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_23.png new file mode 100644 index 00000000..f49a23ca Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/sp_23.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/assets/twitter.png b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/twitter.png new file mode 100644 index 00000000..5a827d72 Binary files /dev/null and b/site/sigmaguides/src/embedding_use_case_sharepoint/assets/twitter.png differ diff --git a/site/sigmaguides/src/embedding_use_case_sharepoint/embedding_use_case_sharepoint.md b/site/sigmaguides/src/embedding_use_case_sharepoint/embedding_use_case_sharepoint.md new file mode 100644 index 00000000..9e190da0 --- /dev/null +++ b/site/sigmaguides/src/embedding_use_case_sharepoint/embedding_use_case_sharepoint.md @@ -0,0 +1,579 @@ +author: pballai +id: embedding_use_case_sharepoint +summary: embedding_use_case_sharepoint +categories: embedding +environments: web +status: published +feedback link: https://github.com/sigmacomputing/sigmaquickstarts/issues +tags: default +lastUpdated: 2025-09-26 + +# Embedding Sigma into Microsoft Sharepoint + +## Overview +Duration: 5 + +In this QuickStart, you'll learn how to securely embed a Sigma workbook into Microsoft SharePoint Online using JWT authentication. + +You'll deploy an Azure Function that mints short-lived JWTs and deploy a SharePoint Framework (SPFx) web part that automatically gets the current user's identity, calls the function, and displays the Sigma workbook. + +This is the production-ready pattern most customers use. It leverages SharePoint's built-in authentication and ensures the correct user identity and permissions flow through to Sigma without requiring additional login steps. + + + +For more information on Sigma's product release strategy, see [Sigma product releases](https://help.sigmacomputing.com/docs/sigma-product-releases) + +If something doesn’t work as expected, here's how to [contact Sigma support](https://help.sigmacomputing.com/docs/sigma-support) + +### Target Audience +IT administrators, SharePoint developers, and business intelligence teams who need to securely embed analytics into their organization's SharePoint environment. This QuickStart is ideal for those implementing a production-ready embedding solution that leverages existing Microsoft 365 authentication. + +### Prerequisites + +
+
+In the `Create client credentials` modal, select the `Embedding` checkbox, provide a name, and assign an administrative user as the owner:
+
+
+
+
+
+Click `Create`.
+
+
+
+
+
+Copy and paste the `Client ID` and `Secret` into a text file for later use.
+
+### Teams
+Next, we’ll create a team and share the workbook with that team. The host application will then pass Sigma the team information when accessing content, along with other user details.
+
+Create a team named `Embed_Users` (creating a workspace is not required):
+
+
+
+### Create Content to Embed
+Return to the homepage and click the `+ Create new` button, then select `Workbook`:
+
+
+
+Drag a new `Table` from the `Data` group on the `Element bar`:
+
+
+
+Click `Select source`.
+
+Sigma allows users to search for tables by name; type `hands` in the search bar and select the `PLUGS_ELECTRONICS_HANDS_ON_LAB_DATA` table from the `RETAIL` schema:
+
+
+
+This opens the selected table in a new, unsaved workbook named `Exploration`:
+
+
+
+Click the `Save as` button and save the workbook as `Embedding into Sharepoint`.
+
+### Share the Workbook
+Share the workbook with the `Embed_Users` team, setting the permission level to `View`:
+
+
+
+This will allow the `View` user to look at the workbook and perform basic actions like sorting and filtering.
+
+
+
+For more information on Sigma default account types, see [Default account types](https://help.sigmacomputing.com/docs/create-and-manage-account-types#default-account-types)
+
+### Workbook baseURL
+Open the workbook's menu and select `Go to published version`:
+
+
+
+Copy the entire URL from the browser and paste into a text file for later use:
+
+
+
+
+
+
+## Deploy to Azure
+Duration: 5
+
+### Create Function App in Azure Portal
+
+Log into [Azure](https://portal.azure.com) search for `Function App` and click into that:
+
+
+
+Click `+ Create`.
+
+Chose the `Consuption` plan and click `Select`.
+
+
+
+Configure the basic settings:
+ - **Subscription**: Your Azure subscription
+ - **Resource Group**: Create new or use existing
+ - **Function App name**: Something unique (e.g., `sigma-embed-quickstart-yourname`)
+ - **Operating System**: Windows
+ - **Runtime stack**: Node.js
+ - **Version**: 20 LTS
+ - **Region**: Central US (or your preferred region)
+
+
+
+Click `Review + create`.
+
+On the `Review + create` tab click the `Create` button.
+
+Azure will validate the configuration and if good, start a deployment. We need to wait for that to complete (usually 2-3 minutes):
+
+Click `Go to resource`.
+
+
+
+### Deploy the Function Code
+In your Function App, click the `Create function` button as shown:
+
+
+
+Choose `HTTP trigger` (first on the list) and click the `Next` button:
+
+
+
+Name the HTTP trigger and select `Function` for the Authorization level. This provides security for the function itself via a function key will we capture later.
+
+
+
+Click `Create`
+
+Once created, Azure will leave us on the `Code + Test` page.
+
+
+
+Replace the default code with this JWT implementation for Sigma:
+```code
+const crypto = require("crypto");
+
+function b64url(input) {
+ return Buffer.from(input).toString("base64")
+ .replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");
+}
+
+function signHS256(payload, secret, kid) {
+ const header = { alg: "HS256", typ: "JWT" };
+ if (kid) header.kid = kid;
+ const encHeader = b64url(JSON.stringify(header));
+ const encPayload = b64url(JSON.stringify(payload));
+ const data = `${encHeader}.${encPayload}`;
+ const sig = crypto.createHmac("sha256", secret).update(data).digest("base64")
+ .replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");
+ return `${data}.${sig}`;
+}
+
+function appendEmbedParams(baseUrl, jwt) {
+ const sep = baseUrl.includes("?") ? "&" : "?";
+ const hasEmbed = /(?:[?&]):embed=/.test(baseUrl);
+ return `${baseUrl}${sep}:jwt=${encodeURIComponent(jwt)}${hasEmbed ? "" : "&:embed=true"}`;
+}
+
+module.exports = function (context, req) {
+ try {
+ const { BASE_URL, CLIENT_ID, SECRET, ACCOUNT_TYPE = "", TEAM = "" } = process.env;
+
+ if (!BASE_URL || !CLIENT_ID || !SECRET) {
+ context.bindings.res = {
+ status: 500,
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ error: "Missing BASE_URL, CLIENT_ID, or SECRET in Environment variables." })
+ };
+ context.done();
+ return;
+ }
+
+ const userEmail = (req.query && req.query.user ? String(req.query.user) : "").trim();
+ if (!userEmail) {
+ context.bindings.res = {
+ status: 400,
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ error: "Missing 'user' (email)." })
+ };
+ context.done();
+ return;
+ }
+
+ const now = Math.floor(Date.now()/1000);
+ const exp = now + 60*10;
+ const payload = {
+ iss: CLIENT_ID,
+ sub: userEmail,
+ aud: "sigma",
+ iat: now,
+ exp,
+ jti: `${CLIENT_ID}-${now}-${Math.random().toString(36).substr(2, 9)}`,
+ ...(ACCOUNT_TYPE ? { account_type: ACCOUNT_TYPE } : {}),
+ ...(TEAM ? { teams: [TEAM] } : {})
+ };
+
+ const token = signHS256(payload, SECRET, CLIENT_ID);
+ const embedUrl = appendEmbedParams(BASE_URL, token);
+
+ context.bindings.res = {
+ status: 200,
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ ok: true, embedUrl, expires_in: exp - now })
+ };
+ context.done();
+ } catch (e) {
+ context.bindings.res = {
+ status: 500,
+ headers: { "Content-Type": "application/json" },
+ body: JSON.stringify({ error: "JWT generation failed", detail: String(e) })
+ };
+ context.done();
+ }
+};
+```
+
+Click `Save`.
+
+### Function URL
+While we are here, let's copy the function URL for use later. Copy and save it to your text file:
+
+
+
+
+
+
+## Configure Environment Variables
+Duration: 3
+
+Go to your Function App > `Settings` > `Environment variables` (this is much faster than adding variables individually).
+
+
+
+Add your additional variables beneath the existing JSON, updating the values marked with `YOUR_*` with the value captured earlier.
+
+
+
+
+Update these specific values:
+ - `YOUR_SIGMA_WORKBOOK_URL`: Your complete Sigma workbook URL
+ - `YOUR_SIGMA_CLIENT_ID`: Client ID from earlier Sigma setup
+ - `YOUR_SIGMA_SECRET`: Secret from earlier Sigma setup
+ - `YOUR_TEAM_NAME`: `Embed_Users` is provided for you but if you shared to a different team, adjust accordingly.
+
+```code
+,
+{
+ "name": "ACCOUNT_TYPE",
+ "value": "View",
+ "slotSetting": false
+ },
+ {
+ "name": "BASE_URL",
+ "value": "YOUR_SIGMA_WORKBOOK_URL",
+ "slotSetting": false
+ },
+ {
+ "name": "CLIENT_ID",
+ "value": "YOUR_SIGMA_CLIENT_ID",
+ "slotSetting": false
+ },
+ {
+ "name": "SECRET",
+ "value": "YOUR_SIGMA_SECRET",
+ "slotSetting": false
+ },
+ {
+ "name": "TEAM",
+ "value": "Embed_Users",
+ "slotSetting": false
+ }
+```
+
+
+
+Click `OK` to save all settings at once and then click `Apply` and `Confirm`. Once the screen reloads, we can proceed to the next step.
+
+
+
+
+
+
+## Configure Cross Origin Resource Sharing (CORS)
+Duration: 2
+
+SharePoint needs to be able to call your Azure Function:
+
+Search for `CORS` in the function app and select it:
+
+
+
+Add your SharePoint tenant origin (replace `yourtenant` with your actual tenant name).
+```code
+https://yourtenant.sharepoint.com
+```
+
+Click `Save` and wait for the save confirmation.
+
+### Test the Function
+We can manually test our function in a browser using the function URL captured earlier but we need to add a user to it since that is required.
+
+For example, our url is:
+```code
+https://sigma-quickstart2-dxg6cmgshzb9ccec.centralus-01.azurewebsites.net/api/sigma-jwt?code=jwAJIx7YTA9jmhOBo3u5VbgpefO0avE-Nr48sTjCYK1RAPBIg==
+```
+
+To include a user as a URL parameter we simple append:
+```code
+&user=test@example.com
+```
+
+Sending that in the browser results in a valid embedUrl which we can also click one-time to see the Sigma embed:
+
+
+
+
+
+
+
+
+## Configure and Deploy SPFx Web Part
+Duration: 8
+
+Now let's configure and deploy the SharePoint web part that calls your Azure Function. SPFx provides automatic user authentication and native SharePoint integration.
+
+### Clone the Git Repository Project Folder
+We have made sample SPFx project code available in a public GitHub repository to save time.
+
+While you may clone the entire repository (it is not that large), we want to avoid cloning portions of the repository that aren't immediately relevant.
+
+Instead, we will use VSCode and terminal to perform a git `sparse-checkout` of the specific project folder we are interested in. This involves a few extra steps, but results in a cleaner local project folder.
+
+Open `VSCode` and a new `Terminal` session.
+
+Create a new directory in a location of your choice, using the command:
+
+For example:
+```code
+mkdir sigma_quickstarts
+```
+
+Change to the new directory:
+```code
+cd sigma_quickstarts
+```
+
+Execute the terminal command:
+```code
+git init
+```
+
+Add the remote repository as the origin:
+```code
+git remote add -f origin https://github.com/sigmacomputing/quickstarts-public.git
+```
+
+No errors should show:
+
+
+
+Enable sparse checkout:
+```code
+git config core.sparseCheckout true
+```
+
+Specify the folder you want to clone by adding it to the sparse-checkout configuration:
+```code
+echo "sigma-embed-sharepoint" >> .git/info/sparse-checkout
+```
+
+Pull the specified folder from the repository:
+```code
+git pull origin main
+```
+
+### Configure Your Function URL
+Open `src/webparts/sigmaEmbed/components/SigmaEmbed.tsx`
+
+Update the `functionUrl` with your Azure Function details (line 32):
+```typescript
+const functionUrl = `https://YOUR_FUNCTION_NAME.azurewebsites.net/api/HttpTrigger1?code=YOUR_FUNCTION_KEY&user=${encodeURIComponent(userEmail)}`;
+```
+
+Replace:
+- `YOUR_FUNCTION_NAME` with your actual Azure Function App name
+- `YOUR_FUNCTION_KEY` with the function key from Azure Portal
+
+### Build and Deploy to SharePoint
+Open a terminal session in the `sigma-embed-sharepoint` folder.
+
+Install project dependencies:
+```code
+npm install
+```
+
+Build for deploy:
+```code
+gulp build --ship
+gulp bundle --ship
+gulp package-solution --ship
+```
+
+### Deploy to SharePoint:
+We need to add our SPFx webpart to Sharepoint.
+
+Navigate the the `Apps` page in Sharepoint:
+```code
+https://[yourtenant].sharepoint.com/sites/appcatalog
+```
+
+Replace `[yourtenant]` with your actual tenant name.
+
+Once on the page, click `Apps for Sharepoint`:
+
+
+
+Click `+ New`:
+
+
+
+Browse to the `sigma-sharepoint-webpart.sppkg` file in the VSCode project folder and select it.
+
+
+
+Click `OK` to upload the file to your SharePoint App Catalog.
+
+When prompted, click `Deploy`:
+
+
+
+
+
+
+## Test in SharePoint
+Duration: 3
+
+Create a new page in Sharepoint:
+
+
+
+Select the `Communications` site (if you are in a Sharepoint trial only).
+
+Click `Create blank`.
+
+Once on the blank page, click `See all web parts`:
+
+
+
+Search for `Sigma` and select the `SigmaEmbed` SPFx web part:
+
+
+
+The page will then render the web part and we are done!
+
+
+
+The web part will automatically:
+- Get the current SharePoint user's email
+- Call your Azure Function to get a JWT token
+- Display the Sigma workbook with proper user authentication
+
+### Troubleshooting
+
+**CORS errors**: Ensure your SharePoint domain is added to Azure Function CORS settings.
](https://twitter.com/sigmacomputing)
+[
](https://www.linkedin.com/company/sigmacomputing)
+[
](https://www.facebook.com/sigmacomputing)
+
+
+
+