[{"data":1,"prerenderedAt":233},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fcollecting-feedback-on-behalf-of-a-user":93,"\u002Fblog\u002Fcollecting-feedback-on-behalf-of-a-user-surround":222},[4,36,54,72],{"title":5,"path":6,"stem":7,"children":8,"icon":35},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[9,11,15,19,23,27,31],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Creating your team","\u002Fdocs\u002Fgetting-started\u002Fcreate-team","1.docs\u002F1.getting-started\u002F2.create-team",{"title":16,"path":17,"stem":18},"Adding a project","\u002Fdocs\u002Fgetting-started\u002Fadding-a-project","1.docs\u002F1.getting-started\u002F3.adding-a-project",{"title":20,"path":21,"stem":22},"Team & User Permissions","\u002Fdocs\u002Fgetting-started\u002Fteam-permissions","1.docs\u002F1.getting-started\u002F4.team-permissions",{"title":24,"path":25,"stem":26},"Inviting team Members","\u002Fdocs\u002Fgetting-started\u002Finviting-team-members","1.docs\u002F1.getting-started\u002F5.inviting-team-members",{"title":28,"path":29,"stem":30},"Connect Integration Identities","\u002Fdocs\u002Fgetting-started\u002Fconnecting-identities","1.docs\u002F1.getting-started\u002F6.connecting-identities",{"title":32,"path":33,"stem":34},"Setting Priorities, Statuses, etc.","\u002Fdocs\u002Fgetting-started\u002Fsetting-priorities-statuses","1.docs\u002F1.getting-started\u002F7.setting-priorities-statuses",false,{"title":37,"path":38,"stem":39,"children":40},"Collecting Feedback","\u002Fdocs\u002Fcollecting-feedback","1.docs\u002F2.collecting-feedback\u002F1.index",[41,42,46,50],{"title":37,"path":38,"stem":39},{"title":43,"path":44,"stem":45},"Guest Feedback Embed","\u002Fdocs\u002Fcollecting-feedback\u002Fguest-embed","1.docs\u002F2.collecting-feedback\u002F2.guest-embed",{"title":47,"path":48,"stem":49},"Browser Extensions","\u002Fdocs\u002Fcollecting-feedback\u002Fbrowser-extensions","1.docs\u002F2.collecting-feedback\u002F3.browser-extensions",{"title":51,"path":52,"stem":53},"Feedback Comments","\u002Fdocs\u002Fcollecting-feedback\u002Ffeedback-comments","1.docs\u002F2.collecting-feedback\u002F4.feedback-comments",{"title":55,"path":56,"stem":57,"children":58},"Integrations","\u002Fdocs\u002Fintegrations","1.docs\u002F3.integrations\u002F1.index",[59,60,64,68],{"title":55,"path":56,"stem":57},{"title":61,"path":62,"stem":63},"GitHub","\u002Fdocs\u002Fintegrations\u002Fgithub","1.docs\u002F3.integrations\u002F2.github",{"title":65,"path":66,"stem":67},"GitLab","\u002Fdocs\u002Fintegrations\u002Fgitlab","1.docs\u002F3.integrations\u002F3.gitlab",{"title":69,"path":70,"stem":71},"Email Integration","\u002Fdocs\u002Fintegrations\u002Femail","1.docs\u002F3.integrations\u002F4.email",{"title":73,"path":74,"stem":75,"children":76,"page":35},"Community","\u002Fdocs\u002Fcommunity","1.docs\u002F5.community",[77,81,85,89],{"title":78,"path":79,"stem":80},"Get Connected","\u002Fdocs\u002Fcommunity\u002Fget-connected","1.docs\u002F5.community\u002F1.get-connected",{"title":82,"path":83,"stem":84},"Request A Feature","\u002Fdocs\u002Fcommunity\u002Frequest-features","1.docs\u002F5.community\u002F2.request-features",{"title":86,"path":87,"stem":88},"Reporting Bugs","\u002Fdocs\u002Fcommunity\u002Freport-a-bug","1.docs\u002F5.community\u002F3.report-a-bug",{"title":90,"path":91,"stem":92},"Contact Support","\u002Fdocs\u002Fcommunity\u002Fcontact-support","1.docs\u002F5.community\u002F4.contact-support",{"id":94,"title":95,"authors":96,"badge":102,"body":104,"date":211,"description":212,"extension":213,"image":214,"meta":216,"navigation":217,"path":218,"seo":219,"stem":220,"__hash__":221},"posts\u002F3.blog\u002Fcollecting-feedback-on-behalf-of-a-user.md","Collecting Feedback on Behalf of a User",[97],{"name":98,"to":99,"avatar":100},"Dan Pastori","https:\u002F\u002Fx.com\u002Fdanpastori",{"src":101},"\u002Fimages\u002Favatars\u002Fdan-pastori.jpeg",{"label":103},"Product Development",{"type":105,"value":106,"toc":204},"minimark",[107,111,114,119,122,125,132,136,139,150,153,159,163,178,181,184,187,190,196],[108,109,110],"p",{},"When it comes to collecting feedback from your clients or your team, knowing who reported the feedback is crucial. Understanding how the user is using the product helps to resolve issues and create features as quick as possible.",[108,112,113],{},"With Bugflow, we go a step further. Not only will you see who reported the issue within Bugflow, but also in the destination tool where your project is being managed.",[115,116,118],"h2",{"id":117},"use-case-collecting-quality-qa-feedback-with-jira","Use Case: Collecting Quality QA Feedback with Jira",[108,120,121],{},"Let's say you have a QA team that uses Jira to manage feedback and Bugflow to report feedback. A member of your QA team reports feedback through Bugflow, but your team wants to manage the feedback within Jira. You don't want to cross-reference who reported what, set up duplicate email systems and get a ton of noise in your inbox.",[108,123,124],{},"With Bugflow's identity connection, you are able to see who reported the issue without cross referencing Bugflow and without receiving duplicate emails. The issue comes into Jira from the user account who reported it, keeping your workflow in-tact and quickly collecting feedback.",[108,126,127],{},[128,129],"img",{"alt":130,"src":131},"Jira Feedback","\u002Fimages\u002Fblog\u002Fcollecting-feedback-on-behalf-of-a-user\u002Fjira-feedback.png",[115,133,135],{"id":134},"use-case-development-team-on-github","Use Case: Development Team on GitHub",[108,137,138],{},"Working on a development team, having the issue get created from the user who reported it, streamlines communication, helping you solve issues with ease while keeping you in the workflow you are used to.",[108,140,141,142,149],{},"Within our small team at ",[143,144,148],"a",{"href":145,"rel":146},"https:\u002F\u002Fserversideup.net",[147],"nofollow","ServerSideUp",", Jay uses Bugflow to do QA rounds on our apps, while I fix the bugs. When he reports an issue, and it comes in from him, I can respond right in GitHub to the issue and he will be notified.",[108,151,152],{},"All communication is in one centralized location. Using Bugflow to collect high quality feedback and organizing the issue into an actionable item, allows a development team to operate seamlessly and get the answers they need right away.",[108,154,155],{},[128,156],{"alt":157,"src":158},"GitHub Feedback","\u002Fimages\u002Fblog\u002Fcollecting-feedback-on-behalf-of-a-user\u002Fgithub-feedback.png",[115,160,162],{"id":161},"behind-the-scenes-how-do-our-integrations-get-the-right-user","Behind the Scenes: How do our integrations get the right user?",[108,164,165,166,171,172,177],{},"Identity management is crucial to making Bugflow operate and is the base for all current and upcoming features (automated reports, feature request boards, etc.). Behind the scenes we built an identity management platform using ",[143,167,170],{"href":168,"rel":169},"https:\u002F\u002Fdocs.saloon.dev\u002F",[147],"SaloonPHP"," and ",[143,173,176],{"href":174,"rel":175},"https:\u002F\u002Flaravel.com\u002F",[147],"Laravel",".",[108,179,180],{},"By structuring our system correctly, we are able to quickly bind third-party integration identities. These identities are bound through an OAuth 2 connection, and stored securely in our database.",[108,182,183],{},"When feedback is reported, we quickly persist the data so we can use it within Bugflow and process it through the desired automation. From there, we create a queued task. The actual sending to the destination takes some time since it's a third party and often multiple steps are involved.",[108,185,186],{},"The queue will receive a feedback record, see that it was reported by the user and it's destination. It will look up the identity for that user on the destination. All third-party integrations provide some sort of user ID when you connect through OAuth. We then, fill that in on the request to the third-party integration and voila! The user who reported the feedback is mapped to the user on the third-party!",[108,188,189],{},"Check out the diagram below for a visual on how this works.",[108,191,192],{},[128,193],{"alt":194,"src":195},"Bugflow diagram on reporting feedback on behalf of the user","\u002Fimages\u002Fblog\u002Fcollecting-feedback-on-behalf-of-a-user\u002Fbugflow.png",[108,197,198,199,203],{},"Of course, if you have any questions or want further information before choosing to switch your project or agency to Bugflow, feel free to reach out to ",[143,200,202],{"href":201},"mailto:support@bugflow.io","support@bugflow.io",". We'd love to help!",{"title":205,"searchDepth":206,"depth":206,"links":207},"",2,[208,209,210],{"id":117,"depth":206,"text":118},{"id":134,"depth":206,"text":135},{"id":161,"depth":206,"text":162},"2024-05-08","It's important to know who submitted the feedback in the tool your team is working in. Let's see how Bugflow makes this work!","md",{"src":215},"\u002Fimages\u002Fblog\u002Fcollecting-feedback-on-behalf-of-a-user\u002Fuser-feedback-og.jpg",{},true,"\u002Fblog\u002Fcollecting-feedback-on-behalf-of-a-user",{"title":95,"description":212},"3.blog\u002Fcollecting-feedback-on-behalf-of-a-user","XgQ0TYpqCgAHD5wYPmxOV70VwffsVwogRJv2oeEyGKA",[223,228],{"title":224,"path":225,"stem":226,"description":227,"children":-1},"Choosing our Tech Stack","\u002Fblog\u002Fchoosing-our-tech-stack","3.blog\u002Fchoosing-our-tech-stack","I wanted to provide a little transparency on how we built Bugflow and what technologies we use to add functionality.",{"title":229,"path":230,"stem":231,"description":232,"children":-1},"Native Two-Way Repo Syncing for GitHub & GitLab","\u002Fblog\u002Fnative-two-way-repo-syncing-for-github-gitlab","3.blog\u002Fnative-two-way-repo-syncing-for-github-gitlab","We're excited to announce that we've added native two-way repo syncing for GitHub and GitLab!",1779889229288]