Epiphani Playbooks supports a wide varieties of integrated Connectors that you can associate with a Node in a Playbook.


Below we have tabulated each such Connector, possible list of Actions, their mandatory Config parameters and Commands. 


Step 1: Drag and drop a Node and select a Connector from the left side panel as shown below




Step 2: Select an Action from available list from the left side panel as shown below.




Step 3: Add values for Config, and Commands in the left side panel as shown below.




Below we have tabulated all such Actions, and their Config and Command parameters with a brief explanation for each.


NOTE: We have described the parameters that are mandatory, and not all optional parameters are even exposed through the below listed Actions. For your reference, for each action of each service, a URL is embedded where you can find more detailed information for that action as described by the service provider. 


Details of Connectors Supported:

IT Services: 


AWS EC2 


ActionPurposeConfigCommands
aws-ec2 describe-instancesDescribes one or more of your instancesdefaultRegion -
access_key -
secret_key -

instanceIds -
region -
aws-ec2-describe-imagesDescribes one or more of the imagesavailable to youdefaultRegion -
access_key -
secret_key -

imageIds -
owners -
executableUsers -
region -
aws-ec2-describe-regionsDescribes one or more regions that are curretly available to youdefaultRegion -
access_key -
secret_key -

regionNames -
region -
aws-ec2-describe-addressesDescribes one or more of your elastic ip addressesdefaultRegion -
access_key -
secret_key -

publicIps -
allocationIds -
region -
aws-ec2-describe-snapshotsDescribes one or more of the EBS snapshots available to youdefaultRegion -
access_key -
secret_key -

ownerIds -
snapshotIds -
restorableByUserIds -
region -
aws-ec2-describe-launch-templatesDescribes one or more launch templatesdefaultRegion -
access_key -
secret_key -

Filters -
LaunchTemplateNames -
LaunchTemplateIds -
region -
aws-ec2-describe-key-pairsDescribes one or more of your key pairsdefaultRegion -
access_key -
secret_key -

keyNames -
region -
aws-ec2-describe-volumesDescribes the specified EBS volumesdefaultRegion -
access_key -
secret_key -

volumeIds -
region -
aws-ec2-describe-vpcsDescribes one or more of your vpcsdefaultRegion -
access_key -
secret_key -

vpcIds -
region -
aws-ec2-describe-subnetsDescribes one or more of your subnetsdefaultRegion -
access_key -
secret_key -

subnetIds -
region - us-west-2
aws-ec2-describe-security-groupsDescribes one or more of your security groupssame as above

groupIds -
groupNames -
region -
aws-ec2-allocate-addressAllocates an Elastic IP address
same as above
region - 
aws-ec2-associate-addressAssociates and elastic ip address with an instance or network interface
same as above
allocationId*  -
instanceId -
allowReassociation -
networkInterfaceId -
privateIpAddress -
region -
aws-ec2-create-snapshotCreates a snapshot of an EBS volume and stores in amazon s3
same as above
volumeId* -
description -
tags -
region -
aws-ec2-delete-snapshotDeletes the specific snapshot
same as above
snapshotId* -
region -
aws-ec2-create-tagsAdds or overwrites one or more tags for the specified amazon ec2 resource or resources
same as above
resources -
tags -
region -
aws-ec2-disassociate-address
same as above
aws-ec2-release-address
Same as aboveallocationId - 
region -
aws-ec2-start-instances
same as aboveinstanceId -
region -
aws-ec2-stop-instances
Same as aboveinstanceId -
region -
aws-ec2-terminate-instances
Same as aboveinstanceId -
region -
aws-ec2-run-instances

count=1
imageId - 
instanceType - 
subnetId - 
keyName - 
region - 
ebsDeleteOnTermination - 
ebsEncrypted - 
ebsSnapshotId - 
ebsDeleteOnTermination - 
disableApiTermination - 
securityGroupIds - 
securityGroups - 
ebsVolumeSize - 
aws-ec2-describe-reserved-instances
Same as other configurationregion- 
aws-ec2-reboot-instances
Same as other configurationregion- 
instanceId - 


Compute Services:


AWS Lambda

ActionPurposeConfigCommand
AWS-Lambda-Get-FunctionReturns information about the function or function version, with a link to download the deployment package that's valid for 10 minutes. If you specify a function version, only details that are specific to that version are returneddefaultRegion
roleArn
roleSessionName
sessionDuration
access_key
secret_key
insecure
proxy
functionName
qualifier
region
roleArn
roleSessionName
roleSessionDuration
AWS-Lambda-List-FunctionReturns a list of Lambda functions, with the version-specific configuration of each. Lambda returns up to 50 functions per call.defaultRegion
roleArn
roleSessionName
sessionDuration
access_key
secret_key
insecure
proxy
region
roleArn
roleSessionName
roleSessionDuration
AWS-Lambda-List-AliasesReturns a list of aliases for a Lambda function.defaultRegion
roleArn
roleSessionName
sessionDuration
access_key
secret_key
insecure
proxy
functionName
functionVersion
region
roleArn
roleSessionName
roleSessionDuration
AWS-Lambda-InvokeInvokes a Lambda function.same as abovefunctionName
invocationType
logType
clientContext
payload
qualifier
region
roleArn
roleSessionName
roleSessionDuration
AWS-Lambda-Get-Account-SettingsRetrieves details about your account's limits and usage in an AWS Region.same as aboveregion
roleArn
roleSessionName
roleSessionDuration

Storage: 


AWS S3


ActionPurposeConfig ParametersCommand
aws-s3-create-bucketCreate S3 bucket to store your datadefault-region (where your data center is hosted)
access-key
secret-key (these are your keys)
bucket
location-contraint
region
aws-s3-delete-bucketDelete a specified bucketdefault-region (where your data center is hosted)
access-key
secret-key (these are your keys)
region
bucket
aws-s3-list-bucketsReturns a list of all bucket owned by the authenticated sender of the requestsame as aboveregion
aws-s3-get-bucket-policyReturns policy of a specified bucketsame as aboveregion
bucket
aws-s3-delete-bucket-policyDeletes the policy of a specified bucketsame as aboveregion
bucket
aws-s3-list-bucket-objectsReturns all or some of the objects of a bucketsame as aboveregion
bucket
aws-s3-put-bucket-policyApplies policy to s3 bucketsame as abovebucket
region
policy={ "Id": "Policy1596513705782", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1596513695672", "Action": [ "s3:PutBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3:::test-s3-buckrt", "Principal": "*" } ] }
confirmRemoveSelfAcess
aws-s3-upload-file
same as above


Database:


Postgre

ActionPurposeConfigCommand
pgsql-query
host - 54.185.33.103
port - 5432
user - myuser
password - mypass
dbname - mydb
query - SELECT * FROM links;


Networking:

Splunk

ActionPurposeConfigCommand
splunk-results
host = <name of splunk host>
authenticaton = eg.{"identifier":"admin", "password":"admin"}
port= 8089 (default)
sid = results of the command that was run
splunk-search
same as abovequery = query to run
event_limit = to set
earliest_time = start time
latest_time = end time
splunk-submit-event
same as aboveindex = index to use
data = data to send
sourcetype = web
splunk-get-indexes
same as above
splunk-job-create
same as above
splunk-fetch-incidents 
same as above


Utilities: 


JiraV2


ActionPurposeConfigCommand
jira-issue-queryQueries jira issuesurl (of portal at Jira)
username: jira username 
API Token: API token created in Jira console
query : JQL query to fetch incidents
idOffset: Issue index to start fetching incidents from
query: JQL query to fetch incidents
startAt: Index of first issue to return
maxResults: Max issues returned (default 50)
headers: Headers to display in human readable format
jira-get-issueGets given issue informationsame as aboveissueId: jira issue id returned from create issue
headers: Headers to display in human readable form
jira-create-issueIssue gets created in Jira with all the given parameterssame as abovesummary: One sentence summary of the issue
projectKey:
issueTypeName: One of the categories of issues 
issueTypeId: Id of the issue types (from jira console)
(One of the above two must be provided)
projectName: name of project from jira console 
labels: one of the labels configured in the project
priority: High, Medium, Low
assignee: person issue is assigned to
jira-issue-add-commentAdds the comment in the jira issuesame as aboveissueId
comment
jira-edit-issueModifies given issue as per the parameters specifiedsame as jira-create-issuesame as jira-create-issue
jira-get-commentsGets all comments from the given issue idsame as aboveissueId
jira-delete-issueDeletes given jira issuesame as aboveissueIdOrKey
jira-get-id-offsetReturns the id offeset like the first issue idsame as above
jira-fetch-incidentsFetch incidentssame as above


Zoom


ActionPurposeConfigCommand
zoom-create-usercreate userapiKey
apiSecret
first_name
last_name
email
user_type
zoom-create-meetingcreate meetingsame as abovetype (default is instant)
user
topic
start-time
timezone
zoom-fetch-recordingfetch the recording of a specified meeting IDsame as abovemeeting ID
zoom-list-userslist all users of this zoom accountsame as abovestatus (default is active)
page-size (default is 30)
page-number (default is 1)
zoom-delete-userdelete a usersame as aboveuser
action (default is disassociate)


Github


ActionPurposeConfigCommand
list-all-issuesLists requested issues with format |ID|Repository|Title|State|Body|Created_at|Updated_at|github_token (token saved in user's github)state (default: open)
limit (default:50)
create-issueIssue gets created with all the informationsame as abovetitle
body
label
update-issueIssue gets updated with all the information
ID (issue ID)
title
body
create commentComment gets added to the issue
body (comment text)
list-issue-commentsLists all the comments entered for this issue
ID (issue ID)
add-labelLists all the comments entered for this issue
ID (issue ID)
CSV separated list of labels
close-issueMarks the issue as closed
ID (issue ID)
search-issuesListed issues reported by specified user using a fliter
query (filter provided in github)
limit (default: 50)
get-branchprovides branch info
branch name
create-branchcreates a new branch
branch name
delete-branchdeletes the provided branch
branch name
get-commitProvides details about the commit like author details, commit, message, time, signatures
commit hash to get details about
get-pull-request Provides details about pull request like files changes, time, state, 
pull request number
create-pull-requestcreate a pull request
title (of pull request)
head (branch)
base (branch)
update-pull-requestupdate a pull request
title (of pull request)
head (branch)
base (branch)
request-reviewSends out review request
pull request number
CSV separated reviewers
fetch-incidentsLists all incidents for the provided repo


Multi-Cloud: 


Google Cloud Project (GCP)


ActionPurposeConfigCommandNotes
gcp-compute-insert-instanceCreate a new vm in gcpservice (copy the contents of the json file containing the security credentials to access the gcp project)name,
zone,
machine-type,
diskBoot,
network (Value for network is the full URL of a network)
subnetwork (The URL of the Subnetwork resource for this instance)
networkIp (Internal IP address of the subnet assigned to the network)
externalInternetAccess,
externalNatIP,
diskSource,
InitializeParamsDiskSizeGb,
deletionProtection,
labels
For more information please visit Google documentation Here
gcp-compute-delete-instanceDelete a VM in GCPsame as aboveinstance,
zone

gcp-compute-get-image-from-family
 get the Image information from GCP
same as aboveProject
Family

gcp-compute-get-networkget networksame as abovenetwork 
gcp-compute-list-instancesget list of GCP instancessame as abovezone,
maxresults

gcp-compute-get-instanceget a specific instance informationsame as aboveinstance,
zone

Gcp-compute-stop-instancestop a specific instancesame as abovesame as above
Gcp-compute-start-instancestart a specific instancesame as abovesame as above
gcp-compute-reset-instanceReset a specific instancesame as abovesame as above
gcp-compute-set-instance-labelsSet labels for a specific instancesame as aboveinstance,
zone,
labels (CSV separated),
labelFingerPrint (existing label fingerprint)

gcp-compute-set-instance-machine-typeset machine type of the instancesame as aboveinstance,
zone,

machineType (Full or partial URL of the machine type resource.)



gcp-compute-list-addressesget list of addressessame as aboveregion,
maxResults

gcp-compute-create-disk-snapshotcompute snapshot of a disksame as abovezone,
name,
disk

gcp-compute-insert-diskinsert a disksame as abovename,
zone,
diskType (URL of the disk type resource describing which disk type to use to create the disk)
sizeGb,
sourceSnapshot

Gcp-compute-get-diskget disk same as abovedisk,
zone

gcp-compute-del-diskdelete disksame as abovedisk,
zone

Gcp-compute-list-disk-typelist disk typesame as abovezone
gcp-compute-get-disk-typeget disk typesame as abovediskType,
zone

create-gcp-networkcreates a network in GCPauthentication - GCP authentication parameterssubnet
project-id - project ID in which to create the network
network-name - name of the VPN to be created
region - us-west-2 (etc.)

delete-gcp-networkdeletes a network in GCPsame as aboveproject-id - from which the network is to be deleted
network-name - name of the network to be deleted
region - us-west-2 (etc.)


EC2 

ActionPurposeConfigCommand
create-aws-firewallCreates a firewall in a given AWS VPCaws-access-key
aws-secret-key
Input-params - to create the firewall.
region - us-west-2 (etc.)
vpc-id - id of the VPC in which to create firewall rules
vpc-name - name of the VPC
rules - one or more of the firewall rules(e.g. allow tcp:22 from 0.0.0.0/0 etc.)
create-aws-simple-adCreates a Simple Active Directory service in AWSsame keys as aboveInput-params - to create simple active directory.
ad-fqdn - e.g. corp.example.com
ad-password - password for AD
dns-subnet-cidr-prefix - CIDR prefix for DNS subnet
dns-domain - for AD
region - us-west-2 (etc.)
vpc-id - ID of the VPC in which to create the AD
create-aws-vpcCreates a VPC in AWSsame keys as aboveInput-params - for VPC (if any)
vpc-name - name for the VPC to create
subnet - for the VPC
region - us-west-2 (etc.)
create-client-vpnCreates a Client VPN service in AWSsame keys as aboveInput-params - for client VPN (if any)
region - us-west-2 (etc.)
client-vpn-name - name of the client vpn
server-cert-arn - ARN of server cert in AWS certificate manager
client-cert-arn - ARN of client cert in AWS certificate manager
delete-aws-firewallDeletes a firewall in a given AWS VPCsame keys as aboveregion - us-west-2 (etc.)
vpc-name - name of the VPC from which to delete the firewall rules
delete-aws-simple-adDeletes a Simple Active Directory service in AWSsame keys as abovead-fqdn - FQDN of the AD to delete
region - us-west-2 (etc.)
delete-aws-vpcDeletes a VPC in AWSsame keys as aboveregion - us-west-2 (etc.)
vpc-name - name of the VPC to delete
delete-client-vpnDeletes a Client VPN service in AWSsame keys as aboveregion - us-west-2 (etc.)
client-vpn-name - name of the client VPN to delete
delete-vpc-all-vmsDeletes all the VMs in a given VPC with the tag type=multicloudsame keys as aboveregion - us-west-2 (etc.)
vpc-name - name of the VPC to delete the VMs from


Epiphani 

ActionPurposeConfigCommand
get-resource-id
Get the Epiphani ID of the requested resource
aws-access-key
aws-secret-key
gcp-auth
google-project-id -
gcp-network-name -
gcp-region - us-west2 (etc.)
create-aws-gcp-vpn
Creates a Multi Cloud VPN between AWS VPC & GCP Network
same keys as aboveInput-params
aws-region - us-west-2
aws-vpc-id
aws-vpc-name
aws-vpc-private-route-table-id
aws-vpc-public-route-table-id
aws-ad-dns-network-acl-id
gcp-region - us-west2
google-project-id
gcp-network-name
gcp-private-network-self-links

delete-aws-gcp-vpn
Deletes a Multi Cloud VPN between AWS VPC & GCP Network
aws-access-key
aws-secret-key
gcp-region - us-west2
google-project-id 
gcp-network-name
aws-region - us-west-2 (etc.)
aws-vpc-name - 

Messaging: 


Slack


Using Slack-v2 connector, one can perform the following actions described in the table below, along with the required configuration parameters:


ActionPurposeConfig Parameters (Mandatory)CommandNotes
slack-send-notificationSend a message to a user, group or a channelaccess-token
bot-token
(These are security keys issued by Slack when an app is installed in the workspace)

Make sure that you have configured correct User and Bot scopes for this command to work properly
slack-set-channel-topicSet the topic of discussion for a specified channelaccess-token
bot-token
(These are security keys issued by Slack when an app is installed in the workspace)
- channel (name of the channel whose topic you wish to set)
- topic (text of the topic to be set)

slack-create-channelCreates a channel in your workspaceaccess-token 
bot-token
(These are security keys issued by Slack when an app is installed in the workspace)
- name (name of the channel you wish to create in your workspace)
slack-invite-to-channelInvite user(s) to a specified channelaccess-token 
bot-token
(These are security keys issued by Slack when an app is installed in the workspace)
- users (CSV usernames OR a single username)
- channel (name of the channel you are inviting for)

slack-rename-channelRename a specified channelaccess-token 
bot-token
(These are security keys issued by Slack when an app is installed in the workspace)
- name (new name of the channel)
- channel (name of the channel you want to rename)

slack-get-user-detailGet details of a specified useraccess-token 
bot-token
(These are security keys issued by Slack when an app is installed in the workspace)
- username (name of the user whose details you want to obtain)
slack-kick-from-channelRemove user(s) from a specified channelaccess-token 
bot-token
(These are security keys issued by Slack when an app is installed in the workspace)
- users (CSV usernames or a single username)
- channel (name of the channel)


PagerDuty


ActionPurposeConfig ParametersCommand
PagerDuty-get-all-schedulesget all schedulesAPIKey
ServiceKey (These are your keys to access Pagerduty)
- query
- limit
PagerDuty-get-users-on-callget all users on call for the given duration

same as above- scheduleID
- since
- until
PagerDuty-get-users-on-call-nowget all users on call nowsame as above- limit
- status
PagerDuty-incidentsget all incidents for a given durationsame as above- since
- until
Pagerduty-submit-eventcreate an incident. currently only severity=critical works.same as above- source
- summary
- severity
- action
Pagerduty-get-contact-methodsget contact methods for a given useridsame as above- UserID
Pagerduty-get-users-notificationget users notification for a given useridsame as above- UserID
PagerDuty-resolve-eventresolve an incident/eventsame as above- incident-key
- serviceKey
PagerDuty-acknowledge-eventacknowledge an event/incidentsame as above- incident-key
- serviceKey
PagerDuty-get-incident-dataget incident data for a given incident idsame as above- incident-id
PagerDuty-get-service-keysget service keyssame as above
PagerDuty-fetch-incidentsfetch all incidentssame as above