// MiniApp root level
source: {
// Each key must start with "rpc_"
rpc_channels_list: {
url: 'https://slack.com/api/conversations.list?limit=1000&types=public_channel,private_channel',
method: 'GET',
headers: {
Authorization: 'Bearer [[accessToken]]',
},
dataPath: 'channels', // JSONPath to the array in the response
valueField: 'id', // Field to use as the option value
labelField: 'name', // Field to use as the option label
},
rpc_users_list: {
url: 'https://slack.com/api/users.list?limit=1000',
method: 'GET',
headers: {
Authorization: 'Bearer [[accessToken]]',
},
dataPath: 'members',
valueField: 'id',
labelField: 'profile.real_name', // Supports nested paths
},
},
// Then reference from action parameters:
actions: [{
parameters: {
properties: {
channel: {
type: 'string',
title: 'Channel',
'x-source': 'rpc_channels_list', // ← Matches key in source
'x-fallback': 'input',
},
},
},
}]