Data import
complete
Andrew Rasmussen
It'd be great if there was a way to import data from whatever format customers have their feedback stored in before using Canny so they don't have to start from scratch or add it manually.
Sarah Hum
complete
You can now import posts into Canny boards via CSV files! Head to your board settings, and select the "Import Data" tab. Enjoy :)
Daniel Murray
in progress
Sarah Hum
planned
We're planning on building post import so you can populate your board with posts via a .CSV. You'll be able to include post title, description, status, and tags.
If you have additional thoughts, please leave your comments or message us directly. Thanks!
D
Doubtful Dog
Sarah Hum: Thank you!
Daniel Murray
under review
Howdy All,
We are investigating implementing this feature, but we need some help. To better understand what y'all are looking for, can you please send some example input data to hello@canny.io.
Thanks,
Dan
D
Doubtful Dog
If you can use Excel VBA and need to bulk load, this might help you. Mods, this is long so feel free to move this post somewhere else if needed. Before you get going, your APIKey is available in Canny from Admin>Setttings> API.
You'll need to put this in an Excel VBA module in an Excel worksheet. Google how to turn on Developer mode if needed. You'll also need to set a reference in the Excel VBA IDE under Tools>References to "Microsoft XML, v6.0"
1) First get your board ID(s), IDs will return in the debug window in the VBA IDE.
Public Sub Get_Board_IDs()
Dim APIkey As String
Dim URL As String
Dim httpReq As Object 'MSXML2.XMLHTTP60
APIkey = "YourAPIKEY"
URL = "https://canny.io/api/v1/boards/list?apiKey=" & APIkey
Set httpReq = CreateObject("MSXML2.XMLHTTP.6.0")
With httpReq
.Open "GET", URL, False
.Send
Debug.Print "Status = " & .StatusText & vbNewLine & _
"Response = " & .ResponseText
End With
End Sub
2) Second create a new user or get your user ID
Sub CreateUser()
Dim APIkey As String, JSON As String
Dim URL As String, Uemail As String, Uname As String, UID As String
Dim httpReq As Object 'MSXML2.XMLHTTP60
Uemail = "Useremail@user.com"
Uname = "John Doe"
UID = "JDOE1"
APIkey = "YourAPIKey"
JSON = "{ " & Chr(34) & "email" & Chr(34) & ": " & Chr(34) & Uemail & Chr(34) & "," & Chr(34) & "name" & Chr(34) & ": " & Chr(34) & Uname & Chr(34) & "," & Chr(34) & "userID" & Chr(34) & ": " & Chr(34) & UID & Chr(34) & "}"
URL = "https://canny.io/api/v1/users/find_or_create?apiKey=" & APIkey
Set httpReq = CreateObject("MSXML2.XMLHTTP.6.0")
With httpReq
.Open "POST", URL, False
.SetRequestHeader "Content-type", "application/json"
.Send (JSON)
Debug.Print "Status = " & .StatusText & vbNewLine & _
"Response = " & .ResponseText
End With
End Sub
Sub FindUser()
Dim APIkey As String
Dim URL As String, UEmail As String
Dim httpReq As Object 'MSXML2.XMLHTTP60
UEmail = "email@email.com"
APIkey = "YourAPIKey"
URL = "https://canny.io/api/v1/users/retrieve?apiKey=" & APIkey & "&email=" & UEmail 'use chr(34) to delimit if needed
Set httpReq = CreateObject("MSXML2.XMLHTTP.6.0")
With httpReq
.Open "GET", URL, False
.Send
Debug.Print "Status = " & .StatusText & vbNewLine & _
"Response = " & .ResponseText
End With
End Sub
3) To create posts, create an excel spreadsheet with 3 columns, leave the first column blank (this is where Canny will return the POST unique ID - you'll need this for loading tags and status later), put the titles in the second column and the details in the third column. Update your APIKey, your Board ID, and author ID in the code. You got those right? Once IDs are updated, select all the spreadsheet cells containing titles and run the macro.
Sub CreatePosts()
Dim APIkey As String, Board As String, Author As String
Dim URL As String, cell As Object
Dim httpReq As Object 'MSXML2.XMLHTTP60
'-d apiKey=YOUR_API_KEY \
'-d authorID=YourAuthorID \
'-d boardID=YourBoardID \
'-d details="This is the post's details" \
'-d title="Post Title"
APIkey = "YOUR_API_KEY"
Board = "YourBoardID"
Author = "YourAuthorID"
Set httpReq = CreateObject("MSXML2.XMLHTTP.6.0")
For Each cell In Selection
URL = "https://canny.io/api/v1/posts/create?apiKey=" & APIkey & "&boardID=" & Board & "&authorID=" & Author & "&title=" & cell & "&details=" & cell.Offset(0, 1).Value
With httpReq
.Open "POST", URL, False
.Send
Debug.Print "Status = " & .StatusText & vbNewLine & _
"Response = " & .ResponseText
cell.Offset(0, -1).Value = .ResponseText
End With
Next cell
End Sub
Boom! Data loaded :)
Z
Zeroth Gorilla
Is there any update on this?, we have a lot of data that we need to import, thanks.
Sarah Hum
Hi Zeroth Gorilla, we don't currently have any plans to build out generic data import but you should be able to get your data in via our API: https://canny.io/docs/api