• Stars
    star
    18
  • Rank 1,208,065 (Top 24 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 3 years ago
  • Updated 3 months ago

Reviews 4.0 (1)

over 1 year ago by Marc Anguera

Nice and lightweight wrapper around the Calendly API, for Ruby apps.

Repository Details

✨ Ruby bindings for Calendly API.

codecov Gem Version

Calendly API Rubygem LITE version

Easy and complete rubygem for Calendly. Currently supports API v2.

Just needed a Personal Access Token.

If you need a Oauth authentication maybe you need calendly-api-ruby-client

Dependencies

No dependencies 🎉

We know about the importance of not add dependencies that you don't want.

📚 Docs

Event Types

client.event_types.list user_uri: "user_uri", organization_uri: "organization_uri"
client.event_types.retrieve event_type_uuid: "id"

Events

client.events.list user_uri: "user_uri", organization_uri: "organization_uri"
client.events.retrieve event_uuid: "event_uuid"

Event Invitees

client.event_invitees.list event_uuid: "event_uuid"
client.event_invitees.retrieve event_uuid: "event_uuid", invitee_uuid: "invitee_uuid"

Scheduling Links

client.scheduling_links.create owner_uri: "owner_uri", max_event_count: 1, owner_type: "EventType"

Organizations

# Create invitation
client.organizations.invite(organization_uuid: "organization_uuid", email: "[email protected]")
client.organization.invite(email: "[email protected]")
# List invitations
client.organizations.list_invitations(organization_uuid: "organization_uuid")
client.organization.list_invitations
# Get invitation
client.organizations.retrieve_invitation(organization_uuid: "organization_uuid", invitation_uuid: "invitation_uuid")
client.organization.invitation(invitation_uuid: "invitation_uuid")
# Revoke invitation
client.organizations.revoke_invitation(organization_uuid: "organization_uuid", invitation_uuid: "organization_uuid")
client.organization.revoke_invitation(invitation_uuid: "organization_uuid")
invitation = client.organization.invitation(invitation_uuid: "invitation_uuid")
invitation.revoke

# List memberships
client.organizations.list_memberships
client.organization.memberships
# Get membership
client.organizations.retrieve_membership(membership_uuid: "membership_uuid")
# Remove membership
client.organizations.remove_user(membership_uuid: "membership_uuid")

client.organization.events

# List/Creaete webhooks
client.organization.list_webhooks(scope: "scope")
client.organization.create_webhook(url: "post_callback_url", events: ["invitee.canceled", "invitee.created"], scope: "scope")

# List activity log
client.organization.activity_log

Webhooks

client.webhooks.list(organization_uri: "organization_uri", scope: "scope")
client.webhooks.create(url: "post_callback_url", events: ["invitee.canceled", "invitee.created"], organization_uri: "organization_uri", scope: "scope")
client.webhooks.retrieve(webhook_uuid: "webhook_uuid")
client.webhooks.delete(webhook_uuid: "webhook_uuid")

Data Compliance

client.data_compliance.delete_invitee_data

Contributing

  1. Fork it ( https://github.com/araluce/calendlyr/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

When adding resources, add to the list of resources in lib/calendlyr. Additionally, write a spec and add it to the list in the README.

Thanks

Many thanks @markets (our contributor in the shadows) for all comments, details and tips for this rubygem project and for made me grow professionally in my day by day 🙌

Thanks @excid3 and his Vultr.rb rubygem project.