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 + + + + + + + + + + + +![Footer](assets/sigma_footer.png) + + +## Required Sigma Configuration +Duration: 5 + +We need to create a few things in Sigma to embed into Sharepoint. We will keep this part simple, as it is not the primary focus of this QuickStart. + +### Client Credentials +Client credentials (a unique Client ID and Embed Secret) are the foundation of secure embedding. + +Sigma uses the Client ID to determine which Embed Secret is referenced in a request. Each time a request is made, the server-side embed API uses the Embed Secret to generate an encrypted signature. + +Together, the Client ID and Embed Secret create a robust security framework for server-side interactions with Sigma. + +Navigate to `Administration` and scroll down to `Developer Access`. + +Click `Create New`: + + + +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: + + + +![Footer](assets/sigma_footer.png) + + +## 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: + + + +![Footer](assets/sigma_footer.png) + + +## 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. + + + +![Footer](assets/sigma_footer.png) + + +## 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: + + + + + +![Footer](assets/sigma_footer.png) + + +## 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`: + + + +![Footer](assets/sigma_footer.png) + + +## 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.
+**Blank embed**: Check that the user has access to the Sigma workbook or team.
+**Function errors**: Verify environment variables are set correctly in Azure. + +If a mistake was made in the `SigmaEmbed.tsx` file (the URL specifically), edit and save the file again, rebuild the project and upload it again into the `Apps for Sharepoint` page, over writing the existing `SigmaEmbed` web part. + +![Footer](assets/sigma_footer.png) + + +## What we've covered +Duration: 5 + +In this QuickStart, we built a complete Sigma SharePoint embedding solution with a simplified approach that: + +- Created Azure Function with copy/paste JWT code - No Git repository needed for the function +- Deployed SharePoint Framework web part from a single Git repository +- Configured secure authentication that automatically gets SharePoint user context +- Established proper CORS to allow SharePoint to call your Azure Function +- Enabled seamless workbook access based on Sigma team membership + +This streamlined approach eliminates complexity while providing enterprise-grade security. Your users can now access Sigma workbooks directly within SharePoint with their existing identity! + +**Additional Resource Links** + +[Blog](https://www.sigmacomputing.com/blog/)
+[Community](https://community.sigmacomputing.com/)
+[Help Center](https://help.sigmacomputing.com/hc/en-us)
+[QuickStarts](https://quickstarts.sigmacomputing.com/)
+ +Be sure to check out all the latest developments at [Sigma's First Friday Feature page!](https://quickstarts.sigmacomputing.com/firstfridayfeatures/) +
+ +[](https://twitter.com/sigmacomputing)  +[](https://www.linkedin.com/company/sigmacomputing)  +[](https://www.facebook.com/sigmacomputing) + +![Footer](assets/sigma_footer.png) + +