slackdirectory

package
v0.0.0-...-e34edbc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2020 License: MIT Imports: 11 Imported by: 0

README

gsuitemdm Cloud Function slackdirectory

A cloud Function component of the gsuitemdm package that can be used to search for a phone number using name or email as a search key. This cloud function is very similar to directory but is specifically designed to format output as expected by Slack, and as such slackdirectory should be used as an HTTP backend for a Slack /slash command such as /dir or /phone (etc).

This can be very useful for orgs whose staff all use G Suite MDM'd mobile devices. With slackdirectory you have an always up-to-date, automatically-updated company mobile phone directory available to anyone in your org's Slack with /phone <name>.

HOW-TO Setup the Slack /phone slash command

Docs coming soon.

HOW-TO Configure slackdirectory

slackdirectory uses a .yaml file containing several environment variables the cloud function reads during app startup. These environment variables point the app to the shared master cloud function configuration, as well as the expected token to be received in each request from Slack, that are stored as Secret Manager secrets. An example .yaml file for slackdirectory:

APPNAME: slackdirectory
SM_APIKEY_ID: projects/12334567890/secrets/gsuitemdm_apikey
SM_SLACKTOKEN_ID: projects/12334567890/secrets/gsuitemdm_slacktoken

HOW-TO Deploy slackdirectory

$ gcloud functions deploy SlackDirectory \
  --runtime go111 \
  --trigger-http \
  --env-vars-file env_slackdirectory.yaml

HOW-TO Use slackdirectory

API

Example test command line that searches for phone numbers including the name "doe" and returns the output correctly formatted for display in Slack:

$ curl -X POST -d "token=0123456789&text=doe" \ 
  https://us-central1-<YOURGCPPROJECTNAME>.cloudfunctions.net/SlackDirectory
Users matching "doe": (2)
Jane Doe: :dir_phone: (213) 555-1313 :dir_email: `janed@foo.com`
John Doe: :dir_phone: (213) 555-1212 :dir_email: `johnd@foo.com`

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SlackDirectory

func SlackDirectory(w http.ResponseWriter, r *http.Request)

Search Google Datastore for a mobile device owner and return the associated phone number to Slack

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL